问题标签 [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.
batch-file - 如何编写 ADPlus 脚本以方便客户用于诊断崩溃和挂起
我们非常喜欢在Windows 调试工具中为遇到崩溃或挂起的客户使用ADPlus 。然而,我们遇到的最大问题是试图解释客户需要输入什么才能运行它。我们会向他们发送一个脚本,但似乎准确的咒语取决于用户是使用 32 位还是 64 位以及他们下载的调试工具的确切版本。
我们目前复杂的指令是这样的:
- 查找调试工具的安装位置——它可能是
c:\program files (x86)\Debugging Tools for windows (x86)
或c:\program files\Debugging tools for windows (x86)
其他一些变体 - 如果您正在运行 64 位应用程序,那么您将
c:\program files\Debugging tools for windows (x64)
需要 - 找出你的用户目录是什么,它可能
c:\users\jim
或z:\documents and settings\jim
启动命令提示符并键入:
<你上面的路径>\adplus -hang -pn myprocess.exe -o <你的用户目录>\crash_dumps
显然,这有很大的出错空间,并不是最好的用户体验,所以我希望能够向用户发送一个批处理文件或其他将检测到的脚本:
- 调试工具的位置
- 用户的主目录
那么,有没有办法找出调试工具的安装位置呢?如果该位置存在于注册表中,是否可以轻松地将其提取到批处理文件中?用户的主目录也可以从批处理脚本中找到吗?我的系统(Win7-64)有一个环境变量HOMEPATH
。我可以假设存在吗?
asp.net - 在 VS 开发服务器和 IIS 下运行 Web 应用程序有什么区别?
我在这里有一个庞大而复杂的解决方案,如果尝试在 Viusual Studio 开发服务器下运行它进行调试,我会收到错误消息“无法加载文件或程序集 'soss_svcdotnet' 文件格式不正确。” 当我在 IIS 下运行应用程序时,我没有收到错误消息。
这似乎是 32 位与 64 位的问题,但我敢肯定还有更多差异。所以,我被提示要问,这些区别是什么?
windows - 设置 Visual Studio 的“附加到进程”对话框中显示的“标题”值?
在 Visual Studio 中选择调试/附加到进程时,显示的对话框有一个“标题”列。默认情况下,这会显示属于该进程的主窗口的标题。例如,它可能会显示“这是一个黑暗和暴风雨的夜晚 - 记事本”。
如何为没有主窗口的应用程序(例如 Windows 服务)设置此字段?
我有多个使用相同的可执行名称运行的服务,我希望能够在附加时轻松区分它们。
c# - VS 2010 调试 - 可视化工具在哪里
在调试期间,我试图查看 StringBuilder 的内容以将其可视化。我使用大量 HTML,我希望能够像在 VS 2008 中一样以 HTML 模式查看内容。
正如您在所附图片中看到的那样,在 2008 年,我可以很容易地在调试器中获得我想要的 html 模式。在 2010 年,我必须调用 ToString() 方法才能获得相同的能力。
2010年怎么才能把2008年的能力拿回来?
谢谢你。
.net - 如何检测是否附加了调试器*并且*已设置或命中断点?
我知道我可以使用Debugger.IsAttached来检测是否附加了调试器,但我希望能够执行类似的操作
原因是我的一些测试场景涉及其他线程上的活动。在调试器下查看东西自然会扰乱这个过程。我希望我的主测试线程在我在某个其他线程上的断点命中后单步执行时阻塞更长时间,但如果没有附加调试器,或者它是但尚未命中断点,则不会阻塞.
是否可能与上述等效;例如,将 P/Invoke 用于非托管调试 API?
.net - 当我通过使用断点来运行程序时,它执行得很好,但是当我在没有断点的情况下运行它时,它会给出运行时异常
我有一个 WPF 应用程序,我正在使用 Microsoft Jet Oledb 驱动程序读取 Excel 文件。在应用必要的类型转换后,共有三个 Excel 文件被读取并插入到数据库中。
当我设置断点并逐步调试它时,我没有异常并且数据被正确插入到数据库中。
但是当我在没有断点的情况下执行它并且不调试时,它会给我以下运行时错误:
“输入字符串的格式不正确”
请帮我。为什么会这样?
更新:
堆栈跟踪是:System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) at System.String.System.IConvertible.ToDouble(IFormatProvider provider) at System.Convert.ToDouble(Object value) at Expedia.MainWindow.InsertCallProfile (DataTable dt) 在 D:\expedia\Expedia\Expedia\MainWindow.xaml.cs: Expedia.MainWindow.Button_Click(Object sender, RoutedEventArgs e) 在 D:\expedia\Expedia\Expedia\MainWindow.xaml.cs 中的第 90 行:第 44 行
我知道存在类型转换问题,但是设置断点和调试时没有发生。
我正在使用以下转换数据类型:-
c - 如何使用 Visual Studio 2010 Professional 调试现有的 C 程序?
如何在教科书中找到的现有 C 程序上使用 Visual Studio 调试器?我想一一调试这些小示例,但没有为每个示例创建完整项目的开销。
示例:假设我从 Visual Studio 命令提示符(“cl.exe helloworld.c”)编译“helloworld.c”。这给了我 helloworld.obj 和 helloworld.exe。我想知道是否有办法在“helloworld.exe”上使用 VS 调试器。到目前为止,我只在成熟的项目中使用过调试器;我不知道如何在没有 Visual Studio 项目开销的情况下调试小型“独立”测试程序。(我希望这不是一个愚蠢的问题,因为 VS 调试器可能仅适用于整个项目。)
谢谢你的任何想法。
visual-studio - 在 Visual Studio 中中断任意事件
我正在尝试跟踪一些工作中的遗留代码,Visual Studio 2003 和 .Net 1.1。我知道发生了对 Keypress 和 Text 更改执行的操作,但是 Text 字段本身是动态生成的或者是一个控件。我需要找到这些事情发生时执行的代码。由于该软件的一些糟糕的架构决策,代码非常意大利面条,很难手动找出。
我想做的是将 Visual Studio 设置为在处理特定事件时不管处理程序如何都会中断的模式。通过这种方式,我可以进入代码并查看为进行翻译和设置变量所做的工作。
最终,我试图追踪此代码何时访问数据库以进行查找和更新,因此允许观察数据库连接何时发生也会有所帮助并实现相同的目标。
visual-studio-2010 - 调试动态加载的可执行文件
我已经收到了一份支持申请,我正试图弄清楚如何去做。我确实有源代码,并且可以进行一些更改,但我显然不想完全更改应用程序的架构。
该应用程序位于由 9 个不同项目组成的 VS2010 解决方案中。主要的是一个 Windows 窗体应用程序,但它在其他线程中衍生出其他应用程序。
这就是困难所在。尽管不同的项目是同一解决方案的一部分,但它们是单独的可执行文件,而不是 DLL。当主程序启动其他项目之一时,它会创建一个新进程,将可执行文件的文件名、启动参数和其他各种参数设置到 process.StartInfo 对象中,然后调用 process.Start()。
如何设置断点和调试从属可执行文件?在加载它们之前我无法附加到它们,但是在调用 process.Start() 之前它们不会被加载,到那时为时已晚。是否有一个方法调用我可以插入到主程序中以使其在实际开始执行之前加载可执行文件(以便我可以在其中设置断点)?
谢谢。
c# - C# - 标记自定义表单的基类使设计视图显示 HTML
好吧。我有一个应用程序,其中包含多个对话框,其中包含一些事件,它们都以相同的方式响应,并且都有一些提供给 Presenter 的方法。这些都被推到了一个:
所有其他形式是:
我有一个模型-视图-演示者设置,所以基类有一些受保护的 EventHandler<EventArgs>,每个都有一个类似命名的函数,分配给该事件调用,并且存在一个 setter演示者可以分配它自己的函数来用作事件的处理程序。(换句话说:)
然后演示者使用 OnFormClose 设置器设置它自己的处理函数来处理任何必要的清理或任何必要的事情。
既然背景故事已经结束,主要问题是,为什么当我将父表单标记为抽象进行简单更改时,我的子表单的设计视图会从正常的设计视图变成只是吐出一团糟HTML(好吧,不是一团糟,一行似乎是表单的整个 HTML ......)?
谁能建议我可能做错了什么?