我最近接手了一个项目,我不确定最后一个人是如何调试这个的......我有两个可执行文件,一个最终运行另一个。我将它们称为 exe1 和 exe2。这些是用 C# 创建的,我使用 Visual Studio 2015
运行exe1工作正常。它做了一些事情,并最终启动exe2。 exe2 最终出错。它正在写入我的日志文件:
BaseException:System.NullReferenceException: Object reference not set to an instance of an object.
(我通常可以解决该错误。我确信这只是创建对象或其他东西的问题,但到目前为止我修复它的尝试和错误方法还没有奏效。)
我没有 exe1 的源代码,所以我无法安装一些 super 程序来一次性完成所有操作(这将允许我进行调试)。有没有办法可以设置断点并逐步执行 exe2 执行其操作?
我应该添加,exe2需要exe1才能运行。 exe1 做了很多事情,没有它 exe2 就会立即崩溃。
最佳答案
Visual Studio 允许 debug child processes已经好几年了。我已经尝试过使用两个项目(父进程和子进程)的代码,并且效果很好。不确定它是否可以在您只有 exe2 程序代码的情况下工作,但我认为值得一试。将 exe1 设置为项目的调试目标,激活子调试,然后查看它是否在 exe2 中遇到断点...
关于c# - 调试由另一个 exe 运行的 exe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48693946/