Skip to content

Instantly share code, notes, and snippets.

View dmcyk's full-sized avatar

Damian Malarczyk dmcyk

View GitHub Profile
.section __TEXT,__text,regular,pure_instructions
.build_version macos, 12, 0
.globl _main ## -- Begin function main
.p2align 4, 0x90
_main: ## @main
## %bb.0:
pushq %rbp
movq %rsp, %rbp
.text
.globl main
.p2align 4, 0x90
.type main,@function
main:
pushq %rbp
movq %rsp, %rbp
## argc -> r8d
movl %edi, %r8d
[2571487.634] -> wl_display@1.get_registry(new id wl_registry@2)
[2571487.777] -> wl_display@1.sync(new id wl_callback@3)
[2571488.335] wl_display@1.delete_id(3)
[2571488.497] wl_registry@2.global(1, "wl_shm", 1)
[2571488.569] -> wl_registry@2.bind(1, "wl_shm", 1, new id [unknown]@4)
[2571488.612] wl_registry@2.global(2, "wl_drm", 2)
[2571488.633] wl_registry@2.global(3, "zwp_linux_dmabuf_v1", 3)
[2571488.655] wl_registry@2.global(4, "wl_compositor", 4)
[2571488.677] -> wl_registry@2.bind(4, "wl_compositor", 4, new id [unknown]@5)
[2571488.708] wl_registry@2.global(5, "wl_subcompositor", 1)
-event5 DEVICE_ADDED Video Bus seat0 default group1 cap:k
-event0 DEVICE_ADDED Power Button seat0 default group2 cap:k
-event1 DEVICE_ADDED Lid Switch seat0 default group3 cap:S
-event2 DEVICE_ADDED Sleep Button seat0 default group4 cap:k
-event11 DEVICE_ADDED Integrated_Webcam_HD: Integrate seat0 default group5 cap:k
-event8 DEVICE_ADDED DELL0A78:00 04F3:3147 Mouse seat0 default group6 cap:p left scroll-nat scroll-button
-event9 DEVICE_ADDED DELL0A78:00 04F3:3147 Touchpad seat0 default group6 cap:pg size 113x79mm tap(dl off) left scroll-nat scroll-2fg-edge click-buttonareas-clickfinger dwt-on
-event7 DEVICE_ADDED Dell WMI hotkeys seat0 default group7 cap:k
-event3 DEVICE_ADDED AT Translated Set 2 keyboard seat0 default group8 cap:k
-event10 DEVICE_ADDED ETPS/2 Elantech Touchpad seat0 default group9 cap:pg size
# Default config for sway
#
# Copy this to ~/.config/sway/config and edit it to your liking.
#
# Read `man 5 sway` for a complete reference.
### Variables
#
# Logo key. Use Mod1 for Alt.
set $mod Mod4
@dmcyk
dmcyk / gist:4018efb32e90431552f9b1e937212fc4
Last active July 1, 2021 19:57
sway_infinite_loop_stuck
00:00:00.000 [INFO] [sway/main.c:346] Sway version 1.6
00:00:00.005 [INFO] [sway/main.c:154] Linux damian-inspiron5515 5.10.42-1-MANJARO #1 SMP PREEMPT Thu Jun 3 14:37:11 UTC 2021 x86_64 GNU/Linux
00:00:00.006 [INFO] [sway/main.c:170] Contents of /etc/lsb-release:
00:00:00.006 [INFO] [sway/main.c:154] DISTRIB_ID=ManjaroLinux
00:00:00.006 [INFO] [sway/main.c:154] DISTRIB_RELEASE=21.0.7
00:00:00.006 [INFO] [sway/main.c:154] DISTRIB_CODENAME=Ornara
00:00:00.006 [INFO] [sway/main.c:154] DISTRIB_DESCRIPTION="Manjaro Linux"
00:00:00.006 [INFO] [sway/main.c:170] Contents of /etc/os-release:
00:00:00.006 [INFO] [sway/main.c:154] NAME="Manjaro Linux"
00:00:00.006 [INFO] [sway/main.c:154] ID=manjaro
private typealias Handler<T> = (GenericResult<T>) -> Void
private enum Sealant<T> {
case sealed([Handler<T>])
case resolved(GenericResult<T>)
}
private final class Resolver<T> {
private let lock = NSLock()
public final class FancyClass {
public enum FancyEnum {
case a
case b
}
public let fancy: FancyEnum
private let ptrCall: (Double) -> Double
import Foundation
class OtherObject {
var value: String = ""
deinit {
print("Other deinit")
}
}

Debugowanie

Konfiguracja gdb

  1. w engine/example w pliku CMakeLists.txt w linii ~20 zaczynającej się od SET(CMAKE_CXX_FLAGS zamień końcówkę linii ... -nostdinc++" na ... -nostdinc++ -g"
  2. zrób to samo ale w silniku (engine/src) około linii 44
  3. ponownie skompiluj silnik i swoją funkcję klienta
  4. z konsoli zainstaluj narzędzie gdb: sudo apt-get install gdb
  5. ze skryptu uruchamiającego silnik run.sh skopiuj linię zaczynającą się od export i wpisz w aktywnym oknie konsoli
  6. ze skryptu uruchamiającego skopiuj swoje argumenty (całość tekstu po ./GameEngine)
  7. pozostając w folderze silnika, w konsoli odpal gdb: gdb GameEngine