据我现在的理解,使用远程调试程序的唯一方法是启动目标应用程序,然后通过Visual Studio附加到它。有没有办法从程序的一开始就捕获所有的断点?我的程序中有需要调试的代码,并且我永远无法将调试器连接得足够快以捕获执行代码。Visual Studio在应用程序启动时进行远程调试
回答
如果你可以改变的代码,尝试注入这行代码在您的应用程序的起点:
System.Diagnostics.Debugger.Launch();
当这条线被击中它会提示你连接一个调试器,有效地等着你回复。由于您正在使用远程调试器,因此您应该能够在该位置进行连接,然后取消对话框。希望这可以帮助。
好的答案。谢谢! – Tim 2012-03-28 12:16:10
不应该是'System.Diagnostics.Debugger.Launch();'?这是一个没有参数的方法调用,并且像任何语句一样在末尾需要分号。 – 2016-07-14 20:01:29
使用Visual Studio Pro 2010构建.NET 4应用程序,这不适用于我。
显然,这是一个已知的bug:
A(有点哈克)解决方法这是为我工作的那一刻只是到了该应用扔了一个MessageBox()在一开始主窗口初始化:
public partial class MainWindow : Form
{
public MainWindow()
{
// To allow you time to attach a remote debugger ...
MessageBox.Show("Please attach debugger");
InitializeComponent();
...
现在,您可以在闲暇时附加VS远程调试器,然后在消息框中单击“确定”。
丑但功能。
解决方案
System.Diagnostics.Debugger.Launch
并没有为我工作,要么。不过,我设法解决我的问题,在我的应用程序中编写启动以下:
while (!System.Diagnostics.Debugger.IsAttached)
System.Threading.Thread.Sleep(100);
这样的应用程序将等待,直到调试程序连接。
这是一个很好的解决方案。在'''#ifdef DEBUG'''和'''endif''中打包,不会干扰发布版本在我的机器上进行调试时完美无瑕。但是当我需要远程调试时,它只是等待。谢谢! – ecth 2018-02-01 07:46:45
- 1. 使用Visual Studio 6.0从XP远程调试NT应用程序
- 2. Visual Studio +远程gdb调试
- 3. 当“启动外部程序”是ssms.exe时,无法从Visual Studio进行调试
- 4. iOS应用程序在Visual Studio中的远程调试时闪烁并关闭
- 5. 在运行Web应用程序中进行远程调试
- 6. 如何防止Visual Studio在调试时启动Windows/Console应用程序?
- 7. 使用Visual Studio 2008进行ASP.NET远程调试
- 8. 使用Visual Studio和WinDbg服务器进行远程调试
- 9. 远程调试Windows 8.1驱动程序Visual Studio 2013
- 10. Visual Studio调试应用程序如eclipse
- 11. WP7应用程序无法启动以进行调试
- 12. OCCI C++应用程序的Visual Studio调试运行时错误
- 13. 调试Visual Studio 2008 Web应用程序需要很长时间才能启动
- 14. 无法使用远程Java应用程序进行调试
- 15. 设置Visual Studio 2012进行远程调试的问题
- 16. Visual Studio:一旦进程启动就自动附加调试器进程
- 17. 从Visual Studio在远程设备(PDA,ARM)上调试winMobile应用程序
- 18. 远程调试 - Web应用程序Azure
- 19. 使用Visual Studio进行远程调试时可以设置断点吗?
- 20. Xcode没有启动我的应用程序进行调试
- 21. 在Visual Studio中启动.NET可执行文件进行调试?
- 22. 使用Visual Studio 2008远程调试Web应用程序的服务器端
- 23. Visual Studio远程调试 - MSVCP140.dll丢失
- 24. Visual Studio远程调试扩展
- 25. 启动远程程序时出错:正在启动或暂停正在进行
- 26. 在Visual Studio中附加调试进程
- 27. 如何在Visual Studio 2010中调试从另一个进程启动的C#.NET应用程序
- 28. 调试远程进程
- 29. Visual Studio代码 - 使用TypeScript调试Node.js应用程序并自动重启
- 30. Anypoint Studio:在运行独立应用程序时进行测试
@HaraldDutch在这里描述了一个很好的解决方案:http://stackoverflow.com/questions/19512041/remote-debugging-how-to-start-the-debugging-process-on-a-different-computer – eFloh 2016-06-23 07:51:39