0

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

在 .NET Reactor 运行之前,我可以在 Visual Studio 2017 中创建转储文件并使用 .pdb 对其进行调试。但是在 .NET Reactor 运行之后,我在所有包含的 dll 中得到以下符号状态: “二进制文件未使用调试信息构建。”

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

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

4

2 回答 2

1

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

于 2020-01-28T03:49:37.177 回答
0

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

而且.NET Reactor还不支持。确保使用"full"调试信息构建 dll: 在此处输入图像描述

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

在此处输入图像描述

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

于 2019-09-27T21:30:47.143 回答