我已经有一年无法调试我的程序了。当我按下绿色的运行按钮时,出现以下错误消息:全文为:TheGDBcommand:"-exec-run"returnedtheerror:",msg="ErrorcreatingprocessC:/Users/leven/OneDrive/J\341t\351kpogramok/People/people.exe,(error193).""我已经阅读了很多关于这个错误的论坛,但我的情况看起来有点不同......如您所见,文件路径不包含任何可能出现此问题的字符(无空格,无特殊字母)。我试过在OneDrive之外运行,同样的错误。我花了很多时间在我的程序中寻找
我想打印函数名(导入的、导出的、普通/本地函数)而不是变量名等等。SymEnumSymbolsEx枚举所有符号,但我只想要函数。里面也找不到怎么区分函数和变量callback功能。有没有办法只枚举函数? 最佳答案 SYMBOL_INFO传递给您的回调有Flags,并且函数有SYMFLAG_FUNCTION 关于c++-使用Dbghelp.h的函数列表,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/q
我正在分析将native库与托管代码一起使用时发生的死锁。我正在使用WinDbg来调试问题,目的是保存转储,以便供应商可以在他们的场所观察到问题。当附加到有问题的进程时,我在任何调用堆栈之前看到以下消息:WARNING:Stackunwindinformationnotavailable.Followingframesmaybewrong.当直接附加到进程时,框架实际上看起来是正确的。但是,当我对该文件进行转储,然后在另一台机器上的WinDbg中打开转储时,其中一个堆栈帧不同(也显示了上述错误。)这最初让供应商感到难过,因为代码路径似乎是不可能的.我使用了转储:.dump/mafile
我没有源代码的程序正在执行第三方EXE文件。我想找出它发送到EXE文件的参数(即thirdparty.exe-c"foo"-d"bar")。我知道初始程序是用VisualBasic编写的。有没有我可以运行的工具来监视执行调用并拦截参数?如有任何帮助,我们将不胜感激。 最佳答案 要以编程方式获取它,请使用WMI:SelectQueryquery=newSelectQuery("selectCommandLinefromWin32_ProcesswhereName='thirdparty.exe'");ManagementObjectS
我写了这段代码并编译了它,#include#include#include#include//DataStructurestypedefstructprocess{charjobName;intarrivalTime;intexecTime;structprocess*next;}P;typedefstructresult{charName;structresult*next;}result;//EndofDataStructuresintquantum;intjobCounts=0;intResponseTime=0;doubletimeEsp=0;//FunctionPrototy
Windows7x64和OllyDbg1.10刚开始学习调试技术,并尝试使用OllyDbg调试名为“crack_me.exe”的演示程序。但是我遇到了如下问题:我在'crack_me.exe'中设置断点并按F9运行程序,但Windows提示对话(我的操作系统是中文的):Generalmeanning:crack_me.exehasstoppedwork.WindowscanconnecttoInternetandfindasolutiontothisproblem.ConnecttoInternettofindasolutionandclosetheprogramClosethepro
我是xdebug的新手,想知道是否可以从Windows命令行(应用断点)调试php脚本。我看过各种使用xdebug的例子,但他们都在谈论通过IDE(Eclipse或Netbeans)进行调试。所以我想知道是否可以使用命令行(Windows)调试脚本。如果这是可能的,那么有人可以提供链接/URL来提供逐步指导以实现这一目标吗? 最佳答案 xdebugprojectpage提到一些客户端实现,它提到:Xdebug2isbundledwithasimplecommandlineclientfortheDBGpprotocol.你试过那个吗
我正在研究Windows系统编程第4课中的一些示例。使用windbg.exe我正在尝试检查传递给函数(GetCurrentDirectoryA)的参数。以下是来源。int_tmain(intargc,LPTSTRargv[]){/*BuffertoreceivecurrentdirectoryallowsfortheCR,LFattheendofthelongestpossiblepath.*/TCHARpwdBuffer[DIRNAME_LEN];DWORDlenCurDir;lenCurDir=GetCurrentDirectory(DIRNAME_LEN,pwdBuffer);i
Qt应用程序崩溃,甚至调试器模式都是我得到的:ASSERT:"!isEmpty()"infileC:\Qt\Qt5.5.0\5.5\mingw492_32\include\QtCore/qlist.h,line321文件中的那一行指向:inlinevoidremoveLast(){Q_ASSERT(!isEmpty());erase(--end());}但我想了解更多信息。就像源代码中的哪一行正在使用它(通过搜索,没有直接调用removeLast()完成)。这可能吗? 最佳答案 如果您在调试器中运行您的程序,它将在断言处停止,您将能
我正在使用Windows10。首次安装Windows时,默认情况下禁用本地内核调试(windbg-kl)。要启用它,您必须运行bcdedit-debugon并重新启动。(不过,据我所知,即使禁用本地内核调试,SysinternalsLiveKd似乎也能正常工作。)为什么默认禁用本地内核调试?始终启用它有什么缺点吗? 最佳答案 如评论中所述,默认情况下禁用内核调试,因为它允许(即使在64位Windows上)加载未真正签名(自签名)的内核驱动程序。(并禁用PatchGuard等)当然,关于“管理员仍然生活在用户区”的评论是无稽之谈。评论