问题标签 [visual-studio-debugging]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
399 浏览

visual-studio - Visual Studio 调试器可扩展性 - 如何遵循 VS 调试器源文件路径重定向?

我在写一个VS扩展,需要知道用户当前正在调试的文件的全路径,想支持pdb中写的源路径不正确,提示用户查找的场景在别处归档。

如果我执行以下操作:

1) 调试其 PDB 指向位置 A 的代码文件的 DLL

2)将代码文件移动到不同的位置,B

3) 当提示打开文件对话框时,指示调试器将代码定位在位置 B

然后打开该文件,Visual Studio 似乎“记住”了这个重定向,并且即使在我重新启动它之后也会知道在位置 B 中查找该文件。

我的问题是,IDebugStackFrame2/EnvDTE.StackFrame 对象都给了我旧的、不正确的代码文件路径——我想要正确的路径,这样我就可以从中读取源代码!Visual Studio 是否以任何方式公开此间接表?

如何获取源文件的文本?

PS我尝试将 VsShellUtilities.OpenDocument 方法与旧的、不正确的路径一起使用,但它会抛出一个找不到文件的方法。

0 投票
0 回答
1481 浏览

.net - Visual Studio 2010 调试器问题 - 未注册错误?

在使用单元测试调试模式时,我在使用 Visual Studio 2010 的调试器时遇到了一些问题。

当我在测试中遇到断点时,所有对象数据都会被问号替换,它告诉我“无法评估孩子”。不久之后,它将自行中止调试模式并忽略任何其他断点。没有显示任何错误,但在摘要下您可以阅读:

测试主机进程意外退出。

我找不到有关此错误的任何有用信息。

在测试之外或单步执行(/进入)测试时调试没有问题。如果我为每一行放置一个断点,它将在大多数情况下向我显示数据。如果连接到对象修改的每一行都没有断点,则测试将中止。

数据已在前面毫无问题地显示,是的,所有参考资料都是可用的并且是最新的。

有没有人遇到过类似的问题?...并希望找到解决方案?

这是我迄今为止尝试过的:

  • 重建和清洁溶液。
  • 关闭visual studio +重启系统
  • 已安装 VS10 Service Pack 1
  • 重新安装 Visual Studio 10
  • 在 VS10 Ultimate 和 Premium 上测试
  • 删除和重新生成解决方案文件
  • 删除所有断点
  • TraceAndTestImpact/Local.testsettings:测试超时 > 超时和中止设置为 30 分钟。
  • TraceAndTestImpact/Local.testsettings:单元测试>定义的组装文件夹
  • TraceAndTestImpact/Local.testsettings:部署 > 启用部署 - 目录和文件

系统信息 Windows 7 Ultimate 64-bit

附加信息:

  • 单步执行代码时,数据是可见的。
  • 我正在运行的测试没有失败。如果没有断点,它们就会通过。
  • 如果我在代码中更早地放置断点,测试就会在那里中止。
  • 唯一可见的运行时对象信息是计数,它显示如下:“Count = 0x00000001”
  • 除了这个问题,调试器通常是“调试”。当我删除断点时,它们又回来了!有些断点在调试之前是不可见的。在问题开始之前放置的断点无法删除,并且仍然可以正常工作。

任何建议都更受欢迎。我不知道接下来要尝试什么。

谢谢你的时间 :)

0 投票
2 回答
29292 浏览

c# - 无法连接到已配置的开发 Web 服务器

当我从 Visual Studio 运行我的 Web 应用程序时,我收到以下消息:

然后它拒绝运行。

我该如何解决这个问题?

0 投票
7 回答
5430 浏览

c# - 如何让 ToString() 显示在调试中

我想让 ToString() 在调试模式下为我控制的类显示。

如果这是当您将鼠标悬停在变量上时首先显示的内容,那就太好了。有这个属性吗?

0 投票
2 回答
1460 浏览

c# - Getting the instance of EnvDTE.Debugger in VS2010

I'm trying to create a Visual Studio Integration Package project which will display data from the debugger.
So I found the EnvDTE namespace, that looks to give me the needed classes and methods.
According to the documentation for VS2005, the following code should be used to get an instance of the debugger:

But this generates an error in VS2010 - An object reference is required for the non-static field, method, or property 'EnvDTE._DTE.Debugger.get'

How can I interrogate the debugger in VS2010?

Thanks in advance.

0 投票
1 回答
999 浏览

debugging - 托管代码的调试工具

我是 C# 新手,想知道“ windbg ”或“ Visual Studio Debugger ”是否是调试托管代码的更好工具?

在过去的几年里,我一直在使用 C++ 进行开发,与Visual Studio debugger相比,我更喜欢使用windbg。但是,我不确定windbg在托管代码的情况下是否也能发挥最佳效果?

除了windbgVisual Studio Debugger之外,是否还有其他调试工具在调试托管代码时比这些工具效果更好?

0 投票
1 回答
11273 浏览

asp.net - asp.net mvc 调试器抛出 SEHException

当我尝试在 VS 中调试(使用 F5)应用程序时,它向我显示以下异常:

这是堆栈跟踪:

说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详情:

源错误:

在执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常起源和位置的信息。

堆栈跟踪:

从这里我只能弄清楚调试器在执行此操作时崩溃了

知道这里有什么问题吗?

0 投票
1 回答
934 浏览

c# - 我无法在 Invoked 委托中捕获异常

我有一个附加到 Excel 互操作组件中的事件的委托。目标是使用来自 Excel 的更新信息来更新 winforms 控件。由于我正在更改 Control 属性,因此我需要使用 Invoke:

(此代码在我正在更新的 Form 类中,因此它正在调用this

基本上我的问题是,当方法中发生异常时back_from_excel(object[,] data),调试器不会捕获它。我知道委托在正确的 UI 线程中运行,因为我在操作表单控件时没有问题。

具体来说,当back_from_excel遇到未处理的异常时,它会在该点停止执行。应用程序的其余部分继续运行并做出响应。调试器不会暂停。输出窗格显示:

它没有给我任何关于哪一行导致问题的提示,只是它在 .exe 中的某个位置。

我的问题是:我做对了Invoke吗?将委托 - 调用 - 委托像这样链接在一起似乎有点奇怪,但我确实需要传递一个调用委托的委托。我的问题是在 Visual Studio 中而不是在 C# 中吗?如果是这样,我如何将调试器重新附加到该 UI 线程?

0 投票
2 回答
2032 浏览

asp.net - Visual Studio 2010 上的自定义 Web 服务器调试

我在调试 ASP.Net Web 应用程序时遇到问题。我正在尝试通过我们的本地网络对其进行调试。我在属性 --> web 部分下选择了“使用自定义 Web 服务器”,并将特定页面设置为我希望在该服务器上看到的页面的路径。但是,我一直收到“IIS 没有列出与启动的 URL 匹配的网站”。网络上的其他人都可以使用完全相同的配置进行调试。

非常感谢你的帮助

0 投票
8 回答
19421 浏览

.net - C# VS2010 进入中断模式失败

后来我的程序中的断点出现了一些问题,说它们不会被命中,因为源代码和编译代码不同。我决定在我的公共 MainWindow() 函数上设置一个断点,看看发生了什么。

现在我收到进入中断模式失败的错误,原因如下:源文件'F:\cAdmin\OO\OO\MainWindow.xaml.cs'不属于正在调试的项目。

我觉得这很有趣,因为我的项目存储在我的闪存驱动器 (L:) 而不是 F: 上。

我已经重建了我的项目并清理了它(很多次),重新启动了我的计算机,移动了我的闪存驱动器,以及我能想到的任何其他东西。