【问题标题】:DotPeek debug using attach to process, without source code?DotPeek 调试使用附加到进程,没有源代码?
【发布时间】:2018-07-17 09:57:34
【问题描述】:

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

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

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

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

【问题讨论】:

  • 您是否需要使用 dotPeek 或者您是否愿意使用其他可能完成这项工作的工具?
  • 我愿意接受其他可以完成这项工作的工具。@PawełŁukasik
  • @famle,请在此提交支持请求dotnettools-support.jetbrains.com/hc/en-us/#

标签: c# visual-studio debugging dotpeek


【解决方案1】:

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

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

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

【讨论】:

  • 不确定您的意思?那dnSpy不支持4.7.1?它确实
  • 不...我们的服务器没有.NET 4.7.1,因此我无法运行它...可以重新编译为旧版本,例如4.6吗?
  • 旧版本使用的是 .net 4/.net 4.6,但不确定您是否可以在某个地方找到它。您始终可以获取旧版本的存储库并自行编译。
  • 嗯...那我应该克隆哪个提交? @PawelLukasik
  • this commit 转换为 4.7.1 - 所以之前至少有一个
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-30
  • 2018-09-18
  • 2012-12-20
  • 2011-07-31
  • 2015-11-13
  • 1970-01-01
相关资源
最近更新 更多