据我现在的理解,使用远程调试程序的唯一方法是启动目标应用程序,然后通过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 C++如何启动应用程序以在远程PC上进行调试?
- 2. Visual Studio在远程调试Cordova iOS应用程序时挂起
- 3. 使用visual studio多线程应用程序进行调试
- 4. 使用Visual Studio 6.0从XP远程调试NT应用程序
- 5. Visual Studio在其启动时调试子进程
- 6. Visual Studio +远程gdb调试
- 7. visual studio:调试器没有启动应用程序后部署
- 8. 当“启动外部程序”是ssms.exe时,无法从Visual Studio进行调试
- 9. iOS应用程序在Visual Studio中的远程调试时闪烁并关闭
- 10. 在运行Web应用程序中进行远程调试
- 11. 使用Visual Studio测试项目进行回归测试,自动启动/调试应用程序
- 12. 如何防止Visual Studio在调试时启动Windows/Console应用程序?
- 13. 使用Visual Studio 2008进行ASP.NET远程调试
- 14. 使用Visual Studio和WinDbg服务器进行远程调试
- 15. 远程调试Windows 8.1驱动程序Visual Studio 2013
- 16. Visual Studio 2008中远程调试错误:“无法启动程序“***** exe文件。”
- 17. Visual Studio调试应用程序如eclipse
- 18. 如何在visual studio调试器下启动一个进程?
- 19. OCCI C++应用程序的Visual Studio调试运行时错误
- 20. WP7应用程序无法启动以进行调试
- 21. 调试Visual Studio 2008 Web应用程序需要很长时间才能启动
- 22. 如何在作为进程启动时调试程序?
- 23. 设置Visual Studio 2012进行远程调试的问题
- 24. 无法使用远程Java应用程序进行调试
- 25. Visual Studio:一旦进程启动就自动附加调试器进程
- 26. XamlParseException在使用Visual Studio 2015调试WPF应用程序时
- 27. 远程调试托管应用程序
- 28. 从Visual Studio在远程设备(PDA,ARM)上调试winMobile应用程序
- 29. 远程调试Web应用程序
- 30. 远程调试 - Web应用程序Azure
@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