VB.net エディット コンティニュー:「デバッグ中にこの変更を適用できません」を無視します
-
26-09-2019 - |
質問
VB.Net (2008) を使用していてデバッグ中に一時停止している場合、エディット アンド コンティニューを使用すると時間を大幅に節約できます。ただし、モジュール/クラス レベルの情報 (変数、サブ/関数のシグネチャなど) を変更すると、次のようなエラー メッセージが表示されます。
"unable to apply this change while debugging"
これを機能させるための技術的な課題 (そしてなぜそれが難しいのか) は理解できますが、選択肢がいくつかあるだけで窮地に陥ってしまいます。
1) 再起動して再コンパイルし、プログラムを同じ状態に戻します。
2) 変更を加えずにデバッグを続行すると、忘れる危険があります。
3) リマインダーメモを入力して変更を加えます
それらはすべて、 迷惑な。
これで、オプション「4) 実際に変更を加えるだけ」は不可能な可能性があることが分かりました。しかし、次の「技術的に簡単な」可能性を実現する方法を知っている人はいますか?
4) コードを変更して、紫色の波線の下線を付けて保存できるようにします。ただし、再コンパイルするまで変更を無視します。
[ツール]|[オプション]|[デバッグ]|[編集]をチェックして続行しましたが、これを実行できるものはないようです。
ありがとう!
解決
やりたいことを正確に行うことはできませんが、ソリューション/プロジェクトを別のインスタンスで開いて、その中でコードを変更することはできます。ただし、保存していないことを確認する必要があります。
他のヒント
残念ながら、これは不可能です。
それはあなたが思っているほど単純ではありません。
少なくとも、すべての行番号を無効にします (ただし、これは通常の E&C でも行われます)。ただし、ソース レベルのデバッグを不可能にするメソッド シグネチャやクラス インターフェイスの変更などの行為を防ぐために、IDE には追加の検証レイヤーが必要になります。
さらに、何が起こっているのかを正確に理解していない人にとっては、非常に混乱するでしょう。
そんなことは不可能だと思います。簡単だと言うと、Visual Studio が行った変更をコンパイル時の状態と比較して追跡する必要があることを忘れていると思います。デバッガーなどで正しい行を選択してください。行を追加したり、他の行を削除したり、いくつかの行を修正したりすると、すべての事態をカバーするには非常に複雑になる可能性があり、非常に混乱する可能性もあります。