2016-07-03 6 views
0

私はXcode7を使ってアプリケーションをデバッグします。Xcode7のlldbの「ステップイン」の何が問題になっていますか?

step intostep overのように振る舞いますが、サブプロシージャの実行にジャンプできませんか?そのたびにソースコードの次の行にジャンプします。

私はUIKitメソッドでデバッグしています(ソースコードがありません)、次の命令にジャンプします。 GDB Manualから

答えて

2

見つけたとおり、step-inはデバッグ情報のないフレームを避けています。ほとんどの人は、ステップのコマンドをステップ1からステップ12の間で切り替えるのではなく、次に進む行によって次のように切り替えるのが好きです。私の経験では、stepを選ぶ傾向があります。デバッガがデバッグ情報を持たない他のコード&のprintfで停止しない場合、これはより快適になります。

しかし、lldbの「ステップ」コマンドでは、これを制御するためのオプションがあります:

-a <boolean> (--step-in-avoids-no-debug <boolean>) 
     A boolean value that sets whether stepping into functions will step over functions with no debug information. 

あなたが頻繁にこれを使用する場合は、このオプションを含めるようにstepエイリアスをリセットする、またはそれを含む別のエイリアスを作成しますか、 。これを行うには、command aliasコマンドを使用します。

そして、あなたは常にステップインだけグローバル設定設定なしデバッグ情報をコードにステップしたい場合:デバッグセッションの開始時またはご.lldbinitに

settings set target.process.thread.step-in-avoid-nodebug 0 

のいずれかを。

ほとんどのlldbのコマンドは、helpシステムに記載されています。たとえば、help stepはstepコマンドに対して上記のオプションを示しており、apropos stepはその設定を示しています。

+0

お返事ありがとうございます。 – Karl

-1

行番号情報が機能するために存在する場合にも、ステップコマンドは、関数に入ります。それ以外の場合は、次のコマンドのように動作します。これにより、MIPSマシンでcc -glを使用する場合の問題を回避できます。以前は、ルーチンに関するデバッグ情報があれば、サブルーチンを入力しました。

そして、Step intoがソースファイルを持っているコードでうまく機能しています。

多分私は間違いを犯しました。しかし、lldbは非常にドキュメントが欠けています。

関連する問題