[英]LLDB make command from script
我創建了step-scripted
為我打印調試器調用的函數的名稱。
現在我想自動化我需要輸入的部分: thread step-scripted -C MyTrace.Trace
如何從腳本運行上述命令?
所以我會做這樣的事情:
script
while True:
thread step-scripted -C MyTrace.Trace
首先,步驟計划沒有理由只做一個步驟。 如果你想永遠跨步,那么should_stop
步驟計划去做——永遠不要將計划設置為完成,並從should_stop
返回 false 。 更方便的是,如果您使用的是最近的 lldb,您可以使用-k <key> -v <value>
參數將參數傳遞給您的腳本化步驟計划。 所以你也可以讓你的計划接受“計數”輸入,並多次執行。
否則,最簡單的方法是使用 Python 接口來實現自動執行此步驟的自定義命令。 SBThreads 是你要踩的東西。 如果您使用采用 SBExecutionContext 的命令形式,如下所述:
https://lldb.llvm.org/use/python-reference.html#id6
您可以從SBExecutionContext.thread
獲取線程,然后使用SBThread. StepUsingScriptedThreadPlan
SBThread. StepUsingScriptedThreadPlan
調用您的線程計划來執行該步驟。 一旦你在 python 中,編寫一個循環來永遠或直到某些條件等應該很容易。 您的命令也可能需要多次執行,等等。
請注意,如果您覺得更容易,您還可以使用SBCommandInterpreter.HandleCommand
在腳本解釋器中運行命令。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.