2009-12-07 272 views
1

如果我在控制檯gdb中執行此腳本的每一行,它將按預期運行(除了掛起掛起,但我可以解決這個問題。)但是,如果我將它保存到腳本文件並使用-x選項運行gdb,它掛在[Visor install]行上。很高興知道它爲什麼這樣做,或者甚至只是一個黑客的解決方法。gdb從命令行運行,但不是從腳本運行

腳本:

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次等待,這可能是多線程問題還是什麼?

回答

0

也許你需要使用-batch選項。

+0

剛剛嘗試過它,似乎仍然陷在了同一個地方。 – cobbal 2009-12-07 20:29:00

0

醜陋的解決方法:在問題調用之前添加一個睡眠呼叫。更好的解決方案仍然值得讚賞。

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 
相關問題