3

我正在尝试调试服务,但没有位于服务器上的代码,因为有很多并且移动并不容易。

我们目前在一台服务器上遇到问题,我可以调试问题的唯一方法是使用 dotpeek 反编译 .dll 并在此处显示@IgalTabachnik

这是最后一步的问题,我的断点给出了一个错误,并说源代码不可用?我不明白?...它应该可以通过 dotpeek 获得?

可能是一个问题的另一件事是,我正在调试一个 schdule 任务,并且我无法在同时启动时附加到一个进程。

4

1 回答 1

3

如果您在使用 dotPeek + 符号服务器时遇到问题,我建议您使用dnSpy。为此,您需要:

  1. 以管理员身份打开 dnSpy(dnspy-x86.exe 或 dnspy.exe 取决于目标平台)
  2. 通过 File->Open 将包含服务代码的 .exe 文件加载到 dnSpy 中
  3. 导航到要放置断点的代码并将其设置在那里。
  4. 转到 Debug-Attach 进行处理。由于您以管理员身份运行 dnSpy,您应该会在列表中看到您的服务。
  5. 选择并附加到流程
  6. 触发断点。
  7. 调试

dnSpy 生成它自己的源代码并具有调试功能,因此您可以在其中执行所有操作。它的调试体验与 Visual Studio 的类似,但不如在 VS 中获得的那么广泛。尽管如此,它仍然可以完成它的工作。

于 2018-07-18T12:49:19.973 回答