Visual Studio 2012 远程调试:内存位置访问无效

32

我按照这个链接中的说明:http://msdn.microsoft.com/en-us/library/bt727f1t.aspx,在我的服务器上安装了远程调试器(2012),希望可以从运行visual studio 2012的开发机远程调试应用程序。

然而,我甚至不能查看要附加到远程机器上的进程列表。我一直收到“无法连接到名为[name]的Microsoft Visual Studio远程调试监视器。内存位置访问无效”的错误信息。

我已经成功连接过几次,但是随后立即失败,然后再也无法连接。

这对我造成了巨大的问题,因为我无法进行远程调试。我一定是漏掉了什么重要的东西。请有经验的人给我一个解决方案。

4个回答

55

1
可以在这里工作。虽然我并不太惊讶,但我对这个修复方法感到沮丧。 - Ben Jacobs
1
你可以按照格雷格的回答(https://dev59.com/J2Yr5IYBdhLWcg3wM3f6#16108408)建议安装一个热修复程序,而不是一遍又一遍地重新启动VS。 - tie
@pil0t - 链接已损坏。 - Mark Lopez
@pil0t,能否请您看一下这里与远程调试相关的问题:tinyurl.com/ovglq92? - Istiaque Ahmed

14

原来我忽略了一个重要的事情,那就是没有告诉Visual Studio在哪里找到与远程进程相关的.pdb符号。 要做到这一点,可以前往“工具”->“选项”->“调试”,然后在符号(.pdb)位置中添加远程位置以获取pdb文件。

需要澄清的是,我已经成功附加了进程,但无法进入代码。现在我可以了。 不过请注意,在你达到我的阶段之前还有其他障碍,我只是能够成功附加进程,但不能捕获断点。


5
FYI,我遇到了同样的问题。我进入 TOOLS -> OPTIONS -> DEBUGGING -> SYMBOLS,并点击了“LOAD ALL SYMBOLS”按钮。 Visual Studio 创建了一个缓存位置并下载了多个文件,但是它开始工作了。感谢您指引我正确的方向! - Dragn1821
谢谢你们两个 - 我必须在远程服务器上添加bin目录,然后点击“加载所有符号”。 - John Meyer

13

最近有人向我报告了这个问题并在他们的计算机上进行了调试。"无效访问内存位置"错误是由于Windows中的问题导致的,可以通过这个补丁程序解决。


0
我在VS 2012、2013、2015和2017中遇到了这个问题。根据其他答案,问题很可能与在64位PC上运行32位版本的Visual Studio有关。有时,像其他人建议的那样,重新启动Visual Studio可以解决问题,但我目前找到的最好的解决方案是在没有解决方案的情况下启动Visual Studio,打开调试->附加到进程,将连接目标更改为远程服务器并等待进程列表加载。然后取消,暂时不要附加。加载所需的解决方案,然后返回到“附加到进程”,远程进程列表仍将加载。连接到所需的进程,从那时起一切都应该正常工作。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接