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

c++ - 有没有办法使用 Visual Studio 命令提示符进行调试?

我有一个项目需要使用 3 个编译器(Borland、gnu 和 Microsoft)。它适用于 2/3,现在我只需要让它与微软一起工作。它似乎在与其他编译器一起正常工作的地方崩溃了,所以我想知道是否有一种方法可以使用命令行进行调试,也许是获取堆栈跟踪或获取导致崩溃的行,类似于gdb与gnu。

0 投票
1 回答
128 浏览

c# - IntellitraceFile 抛出奇怪的错误

有人可以解释这个错误吗?(它在收集计划中启用跟踪后出现。)

0 投票
1 回答
486 浏览

debugging - VS2010调试SL 4,无法从源服务器加载源代码

我正在附加到一个运行我部署的 SL 4 应用程序的 IE 实例。所有符号都可以加载,但是当调试器遇到断点而不是从 TFS 加载源代码时,它会说:

SRCSRV:无法确定模块“MyDll”的源服务器信息,因为它不完全受信任。

该网站是一个本地局域网网站,例如https://someapp.domain.local/

我将该网站添加到我的受信任网站列表中,但没有运气。问题是什么?

干杯

更新:在此处报告了 microsoft connect 的问题

0 投票
4 回答
231 浏览

c# - 发布时将源代码添加到dll

我有一个 dll,我们团队中的很多人都在使用它——我希望他们能够针对它进行构建,但如果他们想查看它是如何编写的,也能够进入并单击源代码

我可以看到 MSDN dll 可以做到这一点 - 他们是如何做到的

0 投票
5 回答
5346 浏览

visual-studio - VS2010 (Express) 调试器在控制台应用程序中捕获 Ctrl+C

答案摘要

为避免调试器捕获 Ctrl+C,首先关闭 Visual Studio 托管进程(在项目属性的“调试”选项卡中找到)

如果您使用的是 Visual Studio 的 Express 版本,那么您可以这样做。

如果您使用的是专业版或更高版本的 Visual Studio,您还可以打开 Debug > Exceptions...、Win32 Exceptions,然后取消选中 Ctrl+C。

作为替代方案,您可以在调试时使用 Ctrl+Break,除非像我一样 Ctrl+C 硬连线到您的大脑中。

原来的

以下内容已被编辑。汉斯似乎收回了他的回答,但他的提问帮助我缩小了问题陈述的范围:

额外的清晰度

  • 我不想修改 Ctrl+C 的行为。
  • 我不是在寻找解决方法。
  • 我只是希望调试器在调试会话期间按下 Ctrl+C 时不会中断。

请注意,以下示例是人为设计的。这只是为了展示行为。我更改了 ReadKey 行,因为它分散了人们的注意力。

调试(运行)以下程序:

按 Ctrl+C。调试器将中断,就像您在 Sleep 行设置断点一样。

你怎么关掉这个?我不希望调试器因 Ctrl+C 而中断。

VS2008 Pro 在家里不会发生这种情况。

我现在已经在 VS2008 Express 和 VS2010 Express(我可以轻松测试的唯一版本)上进行了尝试,他们都做到了。这让我相信它要么是一种快速行为,要么是某个地方有一个设置可以打开/关闭它。

  1. 在任何版本/版本中是否有打开/关闭此功能的设置?
  2. 此设置是否存在于 VS2008、VS2010 或两者中?
  3. 设置是否在 Express 版本中公开?
  4. 我的 VS2008 Pro 实例是唯一的吗?设置是在旧版本的 Visual Studio 中公开的东西已经继承(我已经通过许多新版本继承了 VS 设置)。
0 投票
1 回答
3664 浏览

visual-studio - 无法在 Visual Studio 2010 (F5) 上启动调试器 但是,“附加到进程”确实有效(慢)。怎么修?

环境:

  • 干净(新)安装 Windows 7 64 位。
  • 干净(新)安装 Visual Studio 2010 Professional (10.0.30319.1)。
  • Windows 更新是最新的。

问题:
我无法在 Visual Studio 2010 上启动调试器(按 F5):
'无法在 Web 服务器上启动调试。无法连接到 Web 服务器。验证 Web 服务器是否正在运行,并且传入的 HTTP 请求没有被防火墙阻止。'

但是,' attach to process '(我通常做的)确实有效,但启动起来非常缓慢(Visual Studio 在实际启用调试之前'认为'很多时间)。

在相同的硬件上,在旧的 Windows XP(32 位)上运行 VS 2008,这个问题从未发生过。

尝试调试在 ASP.NET 开发服务器下运行的站点也失败:
'无法连接到 ASP.NET 开发服务器。'。

有很多关于这些错误的网页(许多非常过时且不适用于我的环境),但没有一个对我有用。

笔记:

  • 无论我是否以管理员身份运行 Visual Studio。问题是一样的。
  • 即使在运行一个全新的空白 IIS 网站(创建为“localhost/something”或“sample.local”时也会出现问题。
  • 如果我创建一个“文件系统”网站(尝试使用 ASP.NET 开发服务器),当我按下 F5 时,服务器会启动,但经过长时间的等待,Visual Studio 会显示“无法连接到 ASP.NET 开发服务器”。
  • 'hosts' 文件有一个明确的 127.0.0.1 条目用于 'localhost' 和 'sample.local'
  • 运行 .NET 2.0 或 4.0 都是同样的问题。
  • 使用或不使用“启用 32 位应用程序”true 或 false 来配置应用程序池都是一样的。
  • 配置应用程序池是经典模式还是集成模式都是一样的。
  • 在一次绝望的尝试中,我添加了所有 IIS 6.0 遗留“功能”的东西(不需要!),但根本没有帮助。

我现在不知道我还能尝试什么。
谢谢。

0 投票
1 回答
279 浏览

c# - C#:如何调试多组件服务器应用程序?

问题:

我为 C# 邮件服务器编写了一个 nHibernate API。如果您有兴趣,可以在这里找到邮件服务器: http ://www.lumisoft.ee/lswww/download/downloads/MailServer/

还有我的(错误的)API: http ://www.lumisoft.ee/Forum/default.aspx?g=posts&t=722

问题是,邮件服务器由几个组件组成:
net dll:所有低级协议的东西
MailServer exe:邮件服务器本身
DB_API dll:邮件服务器数据库插件-API
Manager:邮件服务器配置管理器


现在,我的 API 工作正常(意思是它没有'不会崩溃,但不一定会返回正确的结果)在我测试它的控制台应用程序中。

但是当我将它(nhibernate DB_API dll)插入服务器并使用邮件服务器管理器以某种方式调整配置设置时,我得到空引用异常。

现在我需要逐步调试服务器以查看错误发生的确切位置。现在,因为它由多个组件(单独的项目)组成,我不能只在 Visual Studio 中使用单步执行......

我该如何调试呢?
我假设我需要将调试器附加到进程,但是呢?

0 投票
2 回答
11611 浏览

visual-studio - MSVSMON.exe(远程调试)必须打开哪些端口才能正常工作?

我要求我的网络管理员打开防火墙上的端口以允许远程调试。它在 MSDN 上的文档中说它需要 UDP 135。但是,管理员说正在使用许多非标准的 19xx 端口。

远程调试工作需要哪些端口?

0 投票
1 回答
2498 浏览

c++ - _CrtSetAllocHook 从不显示文件名/行号

我正在我的应用程序中实现一个内存跟踪器,以便在更进一步的情况下,如果我得到任何内存泄漏,我可以打开这个小家伙来找到它。

一切都很好,只是我从未传递过文件名或行号。我必须使用_CrtSetDbgFlag或预处理器命令设置一些标志吗?

在我运行这个东西(准系统)之后,它显示了 26 个未清理的分配,我很确定它们不是我,但不知道它们发生在哪里。

提前致谢!

0 投票
5 回答
30627 浏览

c# - 懒惰的:“函数评估需要所有线程运行”

我有一个带有一些静态属性的静态类。我在静态构造函数中初始化了所有这些,但后来意识到这很浪费,我应该在需要时延迟加载每个属性。所以我转而使用该System.Lazy<T>类型来完成所有肮脏的工作,并告诉它不要使用它的任何线程安全功能,因为在我的例子中执行总是单线程的。

我结束了以下课程:

调试时,我注意到一条我从未见过的消息:

函数评估需要所有线程运行

在此处输入图像描述

使用前Lazy<T>,直接显示数值。现在,我需要单击带有线程图标的圆形按钮来评估惰性值。这只发生在我正在检索的属性.ValueLazy<T>。展开实际Lazy<T>对象的调试器可视化节点时,该Value属性仅显示null,没有任何消息。

该消息是什么意思,为什么在我的案例中显示?