2017-04-13 42 views
0

this question類似,如何使用LLDB調試我正在使用ctypes加載的庫?使用LLDB加載ctypes的調試庫

我可以在調試器

$ lldb -- python myscript.py 

啓動它,然後我就會喜歡上設置斷點,在C庫中的特定功能。寫下如下失敗:

(lldb) breakpoint set -f fft.c -l 78 
Breakpoint 1: no locations (pending). 
WARNING: Unable to resolve breakpoint to any actual locations.  

運行image list不顯示我的圖書館。我如何告訴LLDB加載庫?

此外,一旦它被加載,我如何驗證LLDB加載調試符號?

回答

1

大概你還沒有運行你的程序到它已經加載包含fft.c代碼庫的地步了?

這對lldb應該不是問題。每次加載新的共享庫時,lldb都會檢查所有現存的斷點,以查看它們是否在新共享庫中找到任何匹配項。所以你應該能夠設置斷點,然後運行,當庫加載時,新的位置將被添加。如果不是這樣,請提交http://bugreporter.apple.com的錯誤。

lldb居然會發出一個通知,說這已經發生在命令行上。

你可以看,如果你想共享庫加載設置:

(lldb) settings set target.process.stop-on-sharedlibrary-events true 

但是,這是沒有必要讓LLDB掃描所有斷點匹配新加載的庫。

+0

正確,庫尚未運行以加載庫。這解釋了上述消息中的「(待定)」。謝謝。 – bcattle