簡體   English   中英

GDB 腳本 - 只有在不調試核心文件時才執行命令

[英]GDB scripting - execute command only if not debugging core file

我正在添加一些我認為對我的 GDB 啟動腳本有用的功能。 一些啟動命令僅適用於“實時”目標,或者具有僅對實時目標有意義的組件。 我希望能夠測試核心文件是否存在(或不存在),並酌情跳過或修改這些命令。

我在 Python API 中找了一圈,但找不到任何告訴我劣質文件是核心文件還是實時程序的信息。 我對在 GDB 本身或 Python GDB 腳本接口中運行的腳本解決方案很滿意。

似乎沒有辦法做到這一點。

我期望在gdb.Inferior 一個屬性,但是沒有一個

在GDB bugzilla中提出功能請求。

info proc status為核心文件返回"unable to handle request" ,而對於實時進程,它返回幾行,第一行看起來像: "process 1234"

您可以使用此處的execute_output() function 運行該命令並將其第一行 output 與該字符串進行比較: https://github.com/crossbowerbt/GDB-Python-Utils/blob/master/gdb_utils.py

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM