条件付きまたは無条件で Windbg コンソールに特定のものを記録することは可能ですか。ソースコードを変更して実行することはできますが、特定のファイルのチェックアウト、コードの編集、ビルドとデプロイなど、さまざまな理由で面倒です。これは非常に退屈で非生産的です。たとえば、条件付きブレークポイントなどの特定のものを探しています。
bp module!Class::funcname+0x0ff5E1 ".if(cond) {exp1;exp2 } .else {gc}"
condに基づいてwindbgコンソールにログを記録します(常にcond = 1の場合があります)。私は使用しましたか?? デバッグ中に値を出力するコマンドですが、多くの値が必要で、1つずつ実行すると時間がかかり、フォーマットもされていないため、自動化することは可能ですか? 私は;条件付きブレークポイントまたはその他の方法で何かを探しています。チュートリアル/サンプルは確かに役に立ちます。
編集:まあ、これを行うために私が考え出した1つの方法は
bp module!Class::Func+0x0FF5E1 ".if(cond) {.echo The value of variable ALPHA is; ?? ALPHA;gc} .else {.echo SomeOtherTextIfNeeded; gc;}:"
これは長くなるかもしれませんが、これらのログ メッセージをログに表示するには、同等の行をコードに追加する必要があるため、適切です。そして、ここではコードを変更しません。ここで私が興味を持っている他の方法は確かにあるでしょう:)
もう 1 つは、フォーマットされた出力を使用することです。その上で、フォーマットと変数名がファイルから読み取れるようになれば最高です!!