相关疑难解决方法(0)

不要在堆栈跟踪中显示构建计算机的文件路径

我目前正在开发一个C#应用程序,它已经拥有了自己的日志记录.抛出异常时,异常将保存到列表中,用户可以通过列表视图查看该列表.当用户在列表视图中单击异常时,异常的堆栈跟踪将显示在文本框中.但即使我在远程计算机上执行程序,堆栈跟踪也会显示从编译应用程序的计算机到原始源文件的文件路径.

例如:

at C:\Folder1\Folder2\Class1.cs:81
at C:\Folder1\Folder2\Class2.cs:65
at C:\Folder1\Folder1\Class3.cs:21
Run Code Online (Sandbox Code Playgroud)

只显示没有文件夹的源文件会很好......

我该如何改变这种行为?

有原生解决方案吗?或者我只需要做一些字符串操作?

c# exception stack-trace debug-symbols

23
推荐指数
2
解决办法
8797
查看次数

异常显示开发人员的路径而不是服务器

当任何ASP.NET项目(可能是任何.net应用程序)发生异常时,堆栈跟踪将显示开发人员计算机上的路径,即使在生产中也是如此.

怎么改呢?

引擎盖下发生了什么?

.net c# asp.net exception stack-trace

17
推荐指数
2
解决办法
4805
查看次数

是否可以使用新的 csproj 项目文件覆盖或清除 dll 构建中的调试路径?

当使用dumpbin来查看我的媒体库的详细信息:
dumpbin /headers Test.dll

我看到 {{FullFolder to Test.pdb}} 是 pdb 的完整文件夹。

调试目录

    Time Type        Size      RVA  Pointer
-------- ------- -------- -------- --------
95BA9373 cv            A1 000199D4    17BD4    Format: RSDS, {4AF64893-BAF4-4FF3-9343-E8D5A55E94FF}, 1, {{FullFolder to Test.pdb}}
00000000 repro          0 00000000        0
Run Code Online (Sandbox Code Playgroud)

有没有办法在 csproj 文件中排除这个?

我的 .csproj 看起来像:

<DebugType>full</DebugType>
<IncludeSource>True</IncludeSource>
<IncludeSymbols>True</IncludeSymbols>
<PdbPath>none</PdbPath>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
Run Code Online (Sandbox Code Playgroud)

似乎该PdbPath元素不再以新的(vs2017 多框架) .csproj 格式工作?

path csproj dumpbin pdb

1
推荐指数
1
解决办法
556
查看次数

标签 统计

c# ×2

exception ×2

stack-trace ×2

.net ×1

asp.net ×1

csproj ×1

debug-symbols ×1

dumpbin ×1

path ×1

pdb ×1