我仍然在學習如何在gdb(arm-none-eabi-gdb,在我的情況下)中使用Python進行調試。我正嘗試使用此工具來獲取在ARM Cortex-M上運行的實時操作系統的線程信息。讀取一些OS結構後,我可以訪問操作系統的線程控制塊。我知道每個線程的PC和SP。我如何使用gdb的Python來轉儲線程的回溯。給定PC和SP時是否有通用API可以遍歷堆棧?當gdb不支持OS時,使用gdb的Python來回溯不同的操作系統線程
我看過https://sourceware.org/gdb/current/onlinedocs/gdb/Unwinding-Frames-in-Python.html#Unwinding-Frames-in-Python,我覺得可能有辦法做到這一點,但我需要一些幫助。
此外,如果可能,我可以讓gdb知道操作系統的不同線程嗎?此鏈接: https://sourceware.org/gdb/current/onlinedocs/gdb/Threads-In-Python.html#Threads-In-Python觸及線程,但依賴於操作系統信息。可以通過我所瞭解的有關各自控制塊的不同操作系統線程來超載嗎?
謝謝!