.NET Reactor 版本使用 pdb 文件混淆调试

Debug obfuscated by .NET Reactor release with pdb files

我编译ASPNET Core 2.2应用程序,获取pdb文件然后运行.NET Reactor 程序集混淆。我有所有组件:二进制文件、源代码、pdb 文件。

在 .NET Reactor 运行 之前,我能够创建 转储文件 并在 Visual Studio 2017 年使用 .pdb 对其进行调试。 但是在 .NET Reactor 运行 之后,我在所有包含的 dll 中得到以下符号状态: "Binary was not built with debug information."

此外,.NET Reactor 根本不更改 pdb。它只是将它们复制到新目的地。

在这种情况下如何调试混淆的应用程序?

有2种pdb规格。只有较新的可移植 pdb 规范存在问题(它在内部导致异常并且 .NET Reactor 仅复制文件)。

.NET Reactor还不支持。 确保使用 "full" 调试信息构建 dll:

应该可以解决问题。至于我的情况,为什么我的 VisualStudio 会忽略此选项并继续使用 'portable' 即使选项已满。可以看出是从BSJB:

开始的

目前 .NET Reactor 团队已意识到该问题并承诺在下一个主要版本中添加支持。 直到那个尖齿尝试在设置中使用 'full' 调试信息。

最新的 .NET Reactor 版本现在能够处理两种 pdb 规范(经典 pdb、便携式 pdb)。