草庐IT

DEBUGGING

全部标签

windows - 为什么有些程序在使用调试器时可以运行,但在运行正常的调试执行时却不行?

我有好几次使用VisualStudio和其他东西编写程序时,在换行符的某处。自然地,我的第一个想法是在程序的早期设置一个断点,然后逐行缓慢地逐步执行代码,直到遇到错误。但很多时候我发现在调试器中缓慢地逐步执行代码时一切正常。但是,当我尝试在没有断点的情况下运行程序时,出现了问题。为什么会这样?逐行单步执行代码实际上与仅在dubug模式下运行程序不同吗?(我不是在谈论调试与发布,我在谈论调试与逐行调试) 最佳答案 一个原因可能是您在多个执行线程之间存在计时问题,当程序“全速”运行时和您在调试器中暂停线程时,这些问题会以不同方式发生。

c++ - 我的调试器运行的代码似乎与我正在构建的代码不同

我在Windows7上使用VisualStudio2010,用C++编写。在我的程序中,我有一个.dll,其中包含我在程序中经常使用的一堆函数。最近,我在更改.dll时遇到了很多麻烦。每当我更改我的DLL中定义的函数时,当程序构建和运行时,更改似乎没有生效。也就是说,我认为每次成功构建(或重建)我的解决方案时,我的DLL都没有正确更新。如果我尝试在.cpp文件中的任何函数中设置断点(代替DLL而对用户隐藏的函数),visualstudio会告诉我代码不会被执行并且断点不能在那里设置。但是,今天早些时候我可以在那里设置断点。此外,我的一个函数将“FrameReceived”打印到visu

windows - VS 2012 中 'Debugger Immediate Window' 中的 KdPrintEx 未打印任何消息

我正在使用主机上的VS2012调试安装在目标VM上的KmdfSmall驱动程序。但是,主机上VS2012中的“调试器即时窗口”不打印任何消息。我在这里使用KdPrintEx((DPFLTR_IHVDRIVER_ID,DPFLTR_INFO_LEVEL,"\nKmdfSmallEvtDeviceAddhasbeencalled\n")),因为它在msdn中给出。.我更新了flag的值以及在OSRonline中描述的.“HKLM\SYSTEM\CCS\Control\SessionManager\DebugPrintFilter”。在此键下,创建一个名为“DEFAULT”的值,并将此键的值

javascript - 如何在 Windows 中调试/单步执行/观察我的 Node.js?

抱歉,也许这属于程序员堆栈交换,但我正在尝试进入Node.jsWeb开发,我真的需要能够逐步完成我的代码,以便更深入地了解什么是发生在我使用的所有教程中。我已经进行了一些谷歌搜索,但看起来所有内容都是假设您在*nix或OSX环境中编写的。我试过了node-inspector,但每当我尝试使用PID运行process._debugProcess()时,我都会遇到错误。 最佳答案 JetBrainsWebStorm是可以与Node.js一起使用的相对便宜的IDE,考虑到价格,它的功能相当丰富。观看演示视频,您应该了解它是否对您有帮助。h

windows - 在 Windows 中调试系统/ole dll

我们如何在windows中调试系统dll?假设我的应用程序正在使用使用系统dll的第三方dll,我想知道第三方dll传递给系统dllapi的确切参数。例如,假设myapp.exe使用名为xyz-wmi.dll的第三方dll,它对恰好在Wbemdisp.dll中的SWbemLocator.ConnectServer进行api调用。我想检查传递给Wbemdisp.dll中的SWbemLocator.ConnectServer的确切参数。有没有办法在Wbemdisp.dll的函数SWbemLocator.ConnectServer中设置断点并在调试器中检查参数?如何做到这一点?

Python 正在工作 - 没有做任何更改 - 将不再工作。可能发生了什么?

过去几天,我一直在终端中运行以下脚本。我没有对其进行任何更改。以前,它一直运行良好,现在出现错误:Traceback(mostrecentcalllast):File"GetAlexRanking.py",line193,inprint("%s:%d"%(p.__class__.__name__,p.get_rank(urlTypeError:%dformat:anumberisrequired,notNoneType这是完整的代码。应该可以将它保存在.py文件中,使用命令pythonfilename.pywww.google.com从终端shell运行它以打印出Google的一些流量

windows - 在 Win 7 和 8.1 中调试 shell 扩展

在此方面,我将真诚地感谢您的帮助。我花了几个小时试图解决它。我用VCPP6(是的,我知道。不用告诉我)写了一个小扩展,在XP下使用IExtractImage在资源管理器中将特定DOS文件的内容显示为缩略图。事实证明调试很容易——我关闭了资源管理器并按了F5。单击所需类型的文件会生成缩略图。断点全部激活。升级到VS2012(同样发生在VS2013Express上)并使用IThumbnailProvider,相同的序列不起作用。程序本身可以运行。我可以在7和8.1中显示缩略图。我不能做的是通过资源管理器调试它。我可以使用SDK(ThumbnailProvider)中的示例调试它,但不能使用

windows - 如何在 Windows 上使用单声道运行时在 Xamarin Studio 中进行调试

当我尝试在Windows上的XamarinStudio中进行F5调试时,调试开始使用Microsoft.NET。知道如何让Xamarin使用我安装在我机器上的mono3.2.3吗? 最佳答案 您可以在工具-选项-项目-.NET运行时中将Mono添加到.NET运行时.您可以在那里浏览到您的Mono安装并添加它。然后您可以选择是否将其设置为默认值。如果您不将其设置为默认值,则当您选择运行-开始调试时,您将不会使用Mono调试您的应用程序,但您可以通过右键单击使用Mono运行解决方案窗口中的项目并选择运行方式-Mono。如果您将Mono设

asp.net - 调试诊断工具 - 无法修改规则 - "failed to start dbgsvc getlasterror returns 0x0000422"

我试图使用Microsoft的调试诊断工具(DebugDiag)来识别w3wp.exe/clr.dll中发生的应用程序事件日志错误,如thisanswer中所述.但是,当我尝试添加新规则时,出现错误对话框:Cannotconnecttoservice.FailedtostartDbgSVC.GetLastErrorreturns0x00000422如何才能成功添加规则? 最佳答案 此错误表明DebugDiagnosticService服务被禁用。修复:开始>运行>services.msc在出现的“服务”对话框中,在列表中找到“调试诊

windows - 在 VS 2012 Professional 的调试位置工具栏中禁用挂起、恢复下拉框

当我调试我的VC++窗口应用程序时,如何在调试位置工具栏中启用挂起、恢复下拉框。 最佳答案 VS中附带的“进程生命周期管理”和“应用程序生命周期”事件组合框仅适用于Windows应用商店应用程序。所以你不能为标准的c++gui应用程序启用它。 关于windows-在VS2012Professional的调试位置工具栏中禁用挂起、恢复下拉框,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questio