C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

ツリー一括表示

PathMap変更時のブレークポイントについて /まりもん (25/03/12(Wed) 11:05) #103595
Re[1]: PathMap変更時のブレークポイントについて /kiku (25/03/12(Wed) 15:33) #103596
  └ Re[2]: PathMap変更時のブレークポイントについて /まりもん (25/03/12(Wed) 16:28) #103597 解決済み


親記事 / ▼[ 103596 ]
■103595 / 親階層)  PathMap変更時のブレークポイントについて
□投稿者/ まりもん (1回)-(2025/03/12(Wed) 11:05:52)

分類:[VB.NET/VB2005 以降] 

VB.NETで.NET Frameworkアプリケーション(WinForm、コンソールアプリ)のこととなります。

エラー発生時のトレース情報等に開発時のパスを残さないようにしたいため、プロジェクトファイルを編集し
PathMapを<PathMap>$(MSBuildProjectDirectory)=/</PathMap>というふうに変更しております。

VisualStudio2019まではこの設定でデバッグ実行した場合にブレークポイントで停止するのですが
VisualStudio2022では「ブレークポイントは、現在の設定ではヒットしません。このドキュメントのシンボルが読み込まれていません。」となり
ブレークポイントが機能しません。
オプションの「元バージョンと完全に一致するソースファイルを必要とする」のチェックを外しても同様です。

VisualStudio2022にてPathMapを指定した際にブレークポイントを機能させる方法はあるのでしょうか?
もしくはブレークポイントを機能させつつトレース情報に開発時のパス情報を残さないようにする他の方法はありますでしょうか?
[ □ Tree ] 返信 編集キー/

▲[ 103595 ] / ▼[ 103597 ]
■103596 / 1階層)  Re[1]: PathMap変更時のブレークポイントについて
□投稿者/ kiku (464回)-(2025/03/12(Wed) 15:33:34)
No103595 (まりもん さん) に返信
> VB.NETで.NET Frameworkアプリケーション(WinForm、コンソールアプリ)のこととなります。
>
> エラー発生時のトレース情報等に開発時のパスを残さないようにしたいため、プロジェクトファイルを編集し
> PathMapを<PathMap>$(MSBuildProjectDirectory)=/</PathMap>というふうに変更しております。
>
> VisualStudio2019まではこの設定でデバッグ実行した場合にブレークポイントで停止するのですが
> VisualStudio2022では「ブレークポイントは、現在の設定ではヒットしません。このドキュメントのシンボルが読み込まれていません。」となり
> ブレークポイントが機能しません。
> オプションの「元バージョンと完全に一致するソースファイルを必要とする」のチェックを外しても同様です。
>
> VisualStudio2022にてPathMapを指定した際にブレークポイントを機能させる方法はあるのでしょうか?
> もしくはブレークポイントを機能させつつトレース情報に開発時のパス情報を残さないようにする他の方法はありますでしょうか?

試していませんが、Releaseビルドするときのみ
上記の設定が効くようにしたら良いのではないでしょうか?
[ 親 103595 / □ Tree ] 返信 編集キー/

▲[ 103596 ] / 返信無し
■103597 / 2階層)  Re[2]: PathMap変更時のブレークポイントについて
□投稿者/ まりもん (2回)-(2025/03/12(Wed) 16:28:13)
No103596 (kiku さん) に返信
> ■No103595 (まりもん さん) に返信
>>VB.NETで.NET Frameworkアプリケーション(WinForm、コンソールアプリ)のこととなります。
>>
>>エラー発生時のトレース情報等に開発時のパスを残さないようにしたいため、プロジェクトファイルを編集し
>>PathMapを<PathMap>$(MSBuildProjectDirectory)=/</PathMap>というふうに変更しております。
>>
>>VisualStudio2019まではこの設定でデバッグ実行した場合にブレークポイントで停止するのですが
>>VisualStudio2022では「ブレークポイントは、現在の設定ではヒットしません。このドキュメントのシンボルが読み込まれていません。」となり
>>ブレークポイントが機能しません。
>>オプションの「元バージョンと完全に一致するソースファイルを必要とする」のチェックを外しても同様です。
>>
>>VisualStudio2022にてPathMapを指定した際にブレークポイントを機能させる方法はあるのでしょうか?
>>もしくはブレークポイントを機能させつつトレース情報に開発時のパス情報を残さないようにする他の方法はありますでしょうか?
> 
> 試していませんが、Releaseビルドするときのみ
> 上記の設定が効くようにしたら良いのではないでしょうか?

ご返答ありがとうございます。
Releaseビルドのみに適用した場合にDebugビルドでのブレークポイントは効くようになりました。


こちらでいろいろと実験した結果として
<PathMap>$(MSBuildProjectDirectory)=/</PathMap>
とした場合は[デバッグ]⇒[ウインドウ]⇒[モジュール]から見れるシンボルファイルの読み込み状態ではシンボルは読み込まれた状態ですが
パスとして"/"が使われるためかうまく認識していないようです。

試しに
<PathMap>$(MSBuildProjectDirectory)=\</PathMap>
とした場合ですとパスとして正しく認識されるのかブレークポイントが効くようになりました。

        Try

            Throw New Exception("TEST")

        Catch ex As Exception
            Console.WriteLine(ex.StackTrace)
        End Try

とした場合にもコードの場所にはファイル名のみ(\Form1.vb等)で実際のパス情報は出力されませんでした。
なのでReleaseビルドのみに適用することなく全体的にPathMapを指定しても大丈夫となりました。

解決済み
[ 親 103595 / □ Tree ] 返信 編集キー/


管理者用

- Child Tree -