GDB работает из командной строки, но не из скрипта - PullRequest
1 голос
/ 07 декабря 2009

Если я выполняю каждую строку этого скрипта в консоли gdb, он работает как положено (за исключением отсоединения зависания, но я могу обойти это.) Однако, если я сохраню его в файле скрипта и запусту gdb с опцией -x он висит на линии [Visor install]. Было бы неплохо узнать, почему он это делает, или даже просто взломать это.

Сценарий:

break -[NSApplication finishLaunching]
run
p (char)[[NSBundle bundleWithPath:@"~/Library/Application Support/SIMBL/Plugins/Visor.bundle"] load]
p (char)[Visor install]
detach
quit

запустить с:

gdb ~/Desktop/misc/dt/dt2/VisorTerminal.app/Contents/MacOS/Terminal -x load.gdb

версия:

$ gdb --version
GNU gdb 6.3.50-20050815 (Apple version gdb-1346) (Fri Sep 18 20:40:51 UTC 2009)
...
This GDB was configured as "x86_64-apple-darwin".

Обновление:

Если я cat файл в GDB, он зависает, если между строками не будет 3 секундного ожидания, это может быть многопоточная проблема или что-то в этом роде?

Ответы [ 2 ]

0 голосов
/ 08 декабря 2009

уродливый обходной путь: добавьте режим ожидания прямо перед вызовом проблемы. Лучшее решение все равно будет оценено.

break -[NSApplication finishLaunching]
run
p (char)[[NSBundle bundleWithPath:@"~/Library/Application Support/SIMBL/Plugins/Visor.bundle"] load]
p (void) sleep(10)
p (char)[Visor install]
detach
quit 
0 голосов
/ 07 декабря 2009

Может быть, вам нужно использовать опцию -batch.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...