问题标签 [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 投票
10 回答
417 浏览

c# - if() 如何在 C# 中错误地评估

我有一个简单的逻辑。

当我使用 VS 进行调试时,我看到i设置为 0 但 if 评估为假!怎么会这样?

伙计们。也许我可以用更好的措辞来表达!!!当 i 为 0 时,上面的表达式应该评估为假,当我在 VS 中将鼠标悬停在它上面时会看到它,但它会进入括号并执行“无论如何”......这是不正确的。

编辑:请参阅我的类似名称但更新的问题以获得解决方案。

0 投票
3 回答
1411 浏览

c# - 调试 C# GUI

概述: 我正在调试一个 C# GUI,它接收一个 XML 文件并启动一个新进程以对 XML 文件执行统计计算。由于某种原因,该过程在执行过程中退出,没有明显的错误。出现一个 Windows 消息框并显示“已停止工作,Windows 正在寻找解决方案”

我试过的:

  • 我尝试写入日志以跟踪应用程序的执行,以便查看失败的位置,但该进程似乎在程序中的不同点退出。
  • 我尝试使用 Visual Studios 调试器来跟踪程序执行,但类似地,
    进程在不同时间退出。

我想知道的:

  • 我可以尝试其他任何免费的调试器吗?
  • 我可以拨打任何电话来查看进程运行时的当前状态吗?
  • 谁能想到其他尝试?

任何帮助都会很棒。谢谢。

0 投票
1 回答
314 浏览

.net - 有没有办法更改 *.vshost.exe 文件的 FileVersion?

我的标题几乎说明了一切,但一位同事编写了一个组件,该组件利用 System.Diagnostic 命名空间来对照支持版本的数据库检查正在运行的进程的版本,以确定正在运行的版本是否有效。

我的问题是,当我在调试模式下运行时,代码由编译后的 vshost.exe 托管,而不是我的“真正”exe。我知道如何控制主 EXE 上的版本控制,但是,我没有找到在 *.vshost.exe 上控制它的方法。有没有办法做到这一点,还是我应该寻找另一种方法?

0 投票
1 回答
575 浏览

c# - 如何将自定义 Web 主机配置属性添加到 Visual Studio 调试项目设置?

我正在处理一个基于 IIS 的 C#.NET 项目。该项目要求在 IIS 服务器的配置中添加一些自定义项。添加了一些应用程序映射和 ISAPI 过滤器。

此外,项目的结构是这样的,我在网站本身的实际主目录之上的级别打开文件。所以如果主目录是\project_root\public_html我打开项目\project_root

当我尝试运行 Visual Studio 2010 的调试进程时,就会出现问题。

  • 通过构建过程启动的 IIS 服务器没有我们正在使用的自定义设置
  • Visual Studio 项目似乎在 \project_root 而不是 \public_html 中启动网络服务器(我看到一个典型的 IIS 目录列表,而不是我试图运行的项目)

有没有人知道如何为 Visual Studio Web 项目配置自定义服务器设置,以便我可以正确调试?

0 投票
2 回答
4396 浏览

c++ - 如何调试“此应用程序已请求运行时以不寻常的方式终止它。” 当我什至无法进入代码时?

我有一个 C++ 程序,一旦进程开始就会给出这个错误 - 显然是在任何用户代码执行之前。它仅在启用内联时发生。即使内置了调试符号,我也无法插入代码。一旦我在 Visual Studio 中按 F10,我就会收到错误并且程序停止。我检查了“调试/异常”中的所有异常/检查,但仍然没有休息。

通常我希望这样的事情是由于缺少运行时依赖关系,但我很肯定这里不是这种情况(使用 Dependency Walker 验证)。

编辑:我使用了 Steve Townsend 对 CDB 的推荐,现在我可以逐步了解程序的用户前代码部分。最终的堆栈跟踪是:

0 投票
1 回答
494 浏览

visual-studio-2010 - Windows 7 网站上的 Parallels 6 VS2010 错误“...无法开始监视对 path\to\web.config 的更改”

我的 Macbook Pro 在 Windows 7 下运行 VS2010 的 Parallels 6。我正在尝试使用 VS 默认 Web 服务器运行我的 .NET 4.0 MVC 3 网站(调试/发布),但我不断收到以下错误: '加载配置文件时出错:无法开始监视对路径的更改\到\web.config'。我在这里看到了这篇文章,但该解决方案不适用(实际上它似乎不能解决我的特定问题)有什么想法吗?

0 投票
1 回答
1484 浏览

c# - 为什么 RuntimeMethodInfo.Invoke 没有出现在我的 Visual Studio 调试器调用堆栈上?

考虑以下 C# 代码:

当我在 Visual Studio 2008 或 Visual Studio 2008 中运行它并命中我在“打印”方法中放置的断点时,我在调用堆栈窗口中得到以下信息:

ConsoleApplication4.exe!ConsoleApplication4.Program.Print(string toPrint)

[本机到托管转换]

[管理到本地转换]

ConsoleApplication4.exe!ConsoleApplication4.Program.Main(string[] args)

为什么没有RuntimeMethodInfo.Invoke出现在我的调用堆栈中?毕竟,它是一种托管方法,那么为什么我看不到我所期望的呢?

另外,一般来说,这里的规则是什么?我的调用堆栈中可能会缺少哪些托管方法?

0 投票
1 回答
1669 浏览

wcf - 从本地 IIS 上托管的 ASP.NET MVC 客户端调试 Windows 服务内托管的 WCF 服务

朋友们,我有一个 WCF 服务,我正试图从我的 MVC 2 Web 客户端本地进入。WCF 服务托管在同一解决方案中的 Windows 服务中。我安装了 Windows 服务并确保它正在运行。但是当我尝试进入 WCF 服务时,我收到以下错误消息“无法进入远程过程”。

这是我的客户端和主机配置

主持人

和客户是

我在 Windows 7 上使用 VS 2010。非常感谢任何帮助

谢谢 RJ

0 投票
1 回答
6855 浏览

visual-studio - Visual Studio:没有可用的反汇编

我想在已被混淆的 .Net 程序上运行 Visual Studio 调试器。(这是我自己的程序——我不是要破解别人的程序。)

当我使用“System.Diagnostics.Debugger.Break()”编译程序时,或者如果我将调试器附加到正在运行的进程,那么调试器会显示“无可用源”。我明白这一点 - 没有对应于程序的混淆版本的源。但是当我单击“显示反汇编”时,它会显示一个带有“无可用反汇编”的反汇编窗口。

为什么?关于我可以做些什么来让拆卸工作有什么建议吗?

在调试选项下,我确实选中了“启用地址级调试”和“如果源不可用则显示反汇编”。

谢谢。

编辑

只是试图解释更多...

有问题的程序是我自己的程序,正在使用的混淆程序也是我自己的程序。混淆程序运行 ILDAsm.exe,修改 ILAsm 代码,然后运行 ​​ILAsm.exe。

我的混淆显然是引入了问题,因此程序不再正常工作。要了解它如何/为什么不起作用,我想追踪它。但由于某种原因,Visual Studio 调试器说“没有可用的反汇编”,然后我什么也做不了。(当在 Visual Studio 下运行非混淆程序时,可以打开反汇编窗口并显示预期信息。只有混淆版本会在 VS 调试器中产生此问题。)

编辑 2

无法找到我的问题的答案,但我现在确实有一种解决方法。

我已经安装了 WinDbg 并确认它可以附加到我的混淆程序,并且至少可以单步执行它并在反汇编窗口中显示当前执行位置。但我以前从未使用过 WinDbg,它看起来有点令人生畏。

我还遵循了一些将 sos.dll 加载到 WinDbg 中的建议。也许这会有所帮助。

但我猜我最终会做的是将大量临时日志语句扔到我的程序中,围绕它不工作的地方,并希望通过这种方式获得一些理解。

0 投票
0 回答
188 浏览

visual-studio - 有没有办法让 Visual Studio 的监视列表使用预处理器定义进行评估

在我的项目中,我有大量使用预处理器定义的数组索引。这在调试时会出现问题,因为监视窗口似乎无法评估这些表达式。在这些场景中,我发现有必要手动查找定义的索引并将值替换为 watch 表达式。

对索引使用枚举将解决比这更多的问题,但在这一点上这将是一个政治上困难的举动,这导致我渴望解决方法。