我有一個二進制文件,我用「-g -O2」g ++選項編譯。我的二進制文件崩潰後也創建了一些核心轉儲文件。我手動做的是用二進制和一個核心轉儲文件作爲參數調用gdb
,然後使用「info threads」來知道我有多少個線程,然後爲每個線程執行「thread n」,其中n是線程數字,然後「bt」查看後面的軌跡。是否可以使用腳本自動執行此過程?如何編寫使用gdb的腳本?
0
A
回答
2
FWIW它更容易使用這個看在所有線程回溯:
thread apply all bt
您可能還喜歡
thread apply all bt full
它也顯示所有的局部變量。
0
嗯,我想這是一個簡單的問題。由於我的二進制有螺紋量恆定我寫了一個名爲gdb.cmd,內容如下
set pagination off
info threads
thread 1
bt
thread 2
bt
...
thread 11
bt
q
腳本,然後使用bash for循環
for f in `ls core.*` ; do gdb <binary name> $f -x gdb.cmd > /tmp/$f ; done
相關問題
- 1. 在gdb中編寫腳本
- 2. 您使用/編寫了哪些有用的GDB腳本?
- 3. 如何使用DOM編寫腳本?
- 4. 如何使用Haskell編寫CGI腳本?
- 5. 使用bash的GDB腳本
- 6. 使用powerCLI腳本編寫腳本
- 7. 使用C#編寫腳本?
- 8. 如何編寫shell腳本?
- 9. 如何編寫Android.mk腳本?
- 10. 如何編寫ASP.NET腳本
- 11. 如何編寫Ant腳本?
- 12. 如何編寫shell腳本
- 13. 使用Scala編寫腳本:如何啓動未編譯的腳本?
- 14. 編寫使用GDB的測試 - 如何捕獲輸出?
- 15. 如何編寫下載的python腳本?
- 16. 如何編寫連接namedValues的腳本?
- 17. 如何編寫更改的腳本url
- 18. 如何決定何時編寫腳本而不是手動編寫腳本?
- 19. GDB腳本MOCK
- 20. 用Java編寫腳本(使用PHP)?
- 21. 如何爲ruby編寫rspec測試使用Git的腳本
- 22. 如何編寫像init.d中使用的bash腳本?
- 23. 如何使用jQuery編寫與瀏覽器相關的腳本?
- 24. 如何在不使用GUI的情況下編寫Jmeter腳本?
- 25. 如何編寫使用NLB的負載平衡PowerShell腳本
- 26. 如何在編寫腳本時使用eclipse中的com.thoughtworks.selenium.DefaultSelenium?
- 27. 如何使用iTextSharp編寫頁腳5.0.4
- 28. 使用G-Key腳本的Lua腳本編寫錯誤SetMkeyState
- 29. 如何在C#中編寫可編寫腳本的集合
- 30. 用Java編寫CGI腳本
你是對的,的確我喜歡「bt full」 – e271p314