による強制はこれは私がnext
をすれば、その後// Some code
が実行されることはありません、私のコードGDB:GDBは、上記の1行目にあるとき、if文
if(0)
{
// Some code
}
の構造です。
if
文内のコードをGDBに実行させる方法はありますか?
による強制はこれは私がnext
をすれば、その後// Some code
が実行されることはありません、私のコードGDB:GDBは、上記の1行目にあるとき、if文
if(0)
{
// Some code
}
の構造です。
if
文内のコードをGDBに実行させる方法はありますか?
を使用している場合に入ることはありません。あなたは、あなたがif
に停止させることができると仮定すると:コンパイラが最適化の最小値を持っていた場合
jump +2
ありがとう!それはまさに私が探していたものでした。 – Randomblue
私はあなたに回避策を提案することができます。一時変数int i=0
を持っているし、次にやるあなたはgdbで所望の位置に到達すると
if(i==1){
//some code
}
ようであれば。
set i = 1
を使用してi
を1に設定すると、ループが実行されます。もちろん、毎回実行したくない場合は、ループの後にリセットする必要があります。
ええ、私はそれを考えていました。私はあまりハッキーではないものを望んでいた。 – Randomblue
@Randomblueあなたのコードに 'if(0){}'ステートメントを持っているのは、すでにハッキーではありませんか? – HonkyTonk
@HonkyTonk:まあ、実際には私の 'if'文はあまりダムではありません。それは単にイラストレーションのためだった。実際の生活では、 'someFunction()'があります。ここで 'someFunction()'はほとんどの場合 '0 'と評価されます。 – Randomblue
if文のコードを実行する場合は、if (0)
をif (1)
に変更してください。
0は偽を意味し、それはループ、あなたが// Some code
が出て、最適化されていなかった場合を除き、17.2 Continuing at a Different Addressを参照してください、GDBでif
文を上停止した後// Some code
にジャンプすることができ
if(1)
コードは存在すらしない可能性があります。 – pmg