はい、これを行う正しい方法は、Pythonスクリプトインターフェイスを介してです。デバッガのコマンド言語で十分なフロー制御と実行ロジックを詰め込み、これを可能にするgdbのアプローチを避けるためです(あるいは、むしろ可能...できないように)。そのアプローチの代わりに、 Pythonを使用してタスクを達成する - しかし、デバッガの機能はPythonのかなり使いやすいインターフェイスを介して利用できる。lldbはスクリプト言語をPythonに任せ、簡単で洗練されたAPIを提供することに集中するPythonからの使用
ここで目的を達成するために、なぜstop-disassembly-count
設定が必要ですか?実際には、デフォルト設定のstop-disassembly-display
を変更して、~/.lldbinit
ファイルの逆アセンブリ表示を無効にしない限り、既に必要な操作を行っているはずです。
(lldb) settings show stop-disassembly-count
stop-disassembly-count (int) = 4
(lldb) settings show stop-disassembly-display
stop-disassembly-display (enum) = no-source
(lldb)
lldbのデフォルトの動作は、プログラムをステップ実行しているコンテキストの一部の種類を示すことです。ソースコードが利用可能であれば、実行中のソースが表示されます。ソースがない場合は、実行しようとしているアセンブリ命令が表示されます。デバッグ情報があると、デバッガがファイルと行番号を認識しているのにソースコードが利用できない(または別のパスで)場合、ちょっとしたバグがあります - 今はlldbがあなたに逆アセンブルを表示しますが、この場合。ユーザーはまだソースレベルで操作しています(命令レベルのステッピングではsi
とni
の代わりにs
とn
を使用します)、lldbはこのインスタンスではソースファイル名と行番号を表示するだけでコンテキストを表示しません。
問題は、マシンのlldbinitファイルがデバッグされていることが原因です。本当にLLDBが大好きです。助けてくれてありがとう。 – MachPortMassenger