草庐IT

Debugging

全部标签

c++ - 调试::gdb::src2dst 是什么?

有人知道关于gdb中src2dst的解释的想法或链接吗?如:#8__cxxabiv1::__dynamic_cast(src_ptr=0x5aa21d0,src_type=0x7f1e92dd5840,dst_type=0x7f1e8d2751a0,src2dst=0)at../../../../libstdc++-v3/libsupc++/dyncast.cc:57与此相关:动态转换出错的原因是什么?谢谢! 最佳答案 您是否正在使用dlopen跨共享库使用dynamic_cast?有特殊的预防措施才能使其发挥作用。看这个GCCFA

c++ - 虚拟文件系统设计

我正在启动一个类似项目的保护器/打包器/绑定(bind)器。目标是当你有一个完整的应用程序目录时/图片//音乐/基础*.ini文件动态链接库前任您只需在其上使用packer.exe,所有这些文件都将打包、加密并存储在生成的exe中。生成的exe然后会创建一个透明的虚拟文件系统,如果找不到文件,它会回退到“真实”文件系统。我已经可以处理(不是很准确)从内存中加载dll等,但是我对hmmHook有问题..现在,作为概念验证,我将调试器(用C++编写)附加到target.exe有点像=======Started[target.exe]=======>PlacingbreakpointonEP

c++ - 如何编写一个非常简单的 Visual Studio 调试器可视化工具?

我正在尝试为字符串类型编写基于“autoexp.dat”的可视化工具。我已经缩减了我的雄心壮志,试图为一个非常简单的测试类型编写一个可视化工具,其中包含一个以null结尾的字符串字段:namespacethizz{namespaceizz{classMyType{constchar*_ptr;public:MyType(constchar*ptr):_ptr(ptr){}};}}这是我对可视化工具的尝试,但它对VisualStudio(2010)如何显示这种类型的实例没有影响:thizz::izz::MyType{preview([$e._ptr,s])}(位于C:\ProgramFi

c++ - 按位运算截断数字的最后两位

我有一个整数n,我想仅使用按位运算截断该数字的最后两位数。因此,在常规算术中,它会像n/=100一样简单。但是如何使用按位运算来完成呢?谢谢,(顺便说一下,这是在C++中)[编辑]:例如,给定数字1234,我想得到12。(截断最后两位数34)[Edit2:]让我重新表述一下这个问题。我试图理解为什么一个特定的函数应该截断一些数字的最后两位数字,但在给出负输入时却搞砸了。(而且我没有这个功能的代码)这是一组输入及其对应的输出-200901==>186113241-200801==>186113242-200701==>186113243-200601==>186113244-190001

c++ - 适用于 Linux 的免费并行 (MPI) 调试器?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭7年前。Improvethisquestion是否有用于调试MPI并行化C++代码的非商业/免费Linux工具?像AllineaDDT或TotalView这样的东西?我知道如何使用gdb附加到并行运行代码的技巧。但是我发现它们只是为了进行一些快速调试而变得乏味。那么是否有直接支持并行调试的基于GUI的工具(可能基于gdb)?

c++ - 代码块 - wx/setup : no such file or directory

我正在尝试在Windows+CodeBlocks上编写我的第一个cpp程序。我已经安装了wxwidgets。我有一个标签和一个按钮。当我按F9键时,出现错误:error:wx/setup.h:Nosuchfileordirectory。错误在文件platform.h的第196行突出显示,其中包含#include"wx/setup.h"我在我的硬盘上搜索了这个文件。它位于c:\wxWidgets-2.8.12\wx\msw和其他一些位置。当我将第196行更改为wx/msw/setup.h时,此错误消失但还有其他错误。我认为我缺少一些非常基本但也很重要的东西。请有任何想法...谢谢!编辑:

c++ - 在 gdb C++ 中打印双 vector 的总和

在GDB中调试时是否可以打印doublevector的总和?我知道vector的值可以由*(vec._M_impl._M_start)@N打印,但我只想对巨大的数组求和可以做什么?一种解决方案是编写C++函数并在GDB中调用它。还有其他更简单的解决方案吗? 最佳答案 它可以通过gdb脚本完成,但我认为编写c++函数并调用它是更好的解决方案。尽管如此,脚本(通过获取STLsupporttools并对其进行修改而创建)是这样的:definepvecsumset$sum=0set$size=$arg0._M_impl._M_finish-

c++ - windbg 和 VS 找不到我的 pdb 文件

我有一个使用SCons和MSVS2013(express)编译器(从命令行编译)构建的项目。它编译并运行,但是,它会定期崩溃,所以我想调试它。我添加了以下标志:/Zi#Debugsymbols/DEBUG#Debugsymbols/FS#Concurrentdebugdatabasefileaccess构建后,我看到生成了一个名为vc120.pdb的pdb文件。我的可执行文件位于build文件夹中,pdb文件位于主项目目录中。但是,当我尝试附加我的可执行文件以通过VS2013或WinDbg进行调试时,我总是收到无法找到调试符号的错误。我在VS2013和WinDbg中都将“路径”添加到p

c++ - Mac OS 上 CodeBlocks 中的调试器设置

我是MacOS上CodeBlocks的初学者,我在使用调试器时遇到问题。当我尝试使用它时,出现以下调试器错误消息:错误:您需要在调试器设置中指定调试器程序。(对于GCC编译器,它是'gdb'(不带引号))可能是Debugger设置中缺少正确的可执行路径(Settings>debugger>GDB/CDBdebugger>Default>Executablepath)谁能告诉我那里应该有什么?或显示其调试器设置默认窗口的屏幕截图?我正在使用:代码块版本12.11MacOSX版本10.9.2非常感谢您回答这个愚蠢的问题! 最佳答案 我猜

c# - 从 C# 调试 C++ dll

我简单说一下情况。我有一个C#项目,它使用一些用C++创建的DLL。现在,另外,我还有一个C++项目,前段时间用来创建那个DLL。现在,我想在运行C#项目期间调试C++DLL。我在我的C#项目中启用了“启用非托管代码调试”。我开始调试C#项目并逐步执行一些功能。一切似乎都还好。当我到达一个属于C++DLL的函数时,它询问C++文件的来源,我必须浏览到我的C++项目。(在我认为它提示某些.pdb文件之前)。现在,我也设法进入了C++函数,但是当我一遍又一遍地进入时,该函数中的一些数据结构似乎没有填充数据,例如,请看下面的截图你可以看到blob数据结构是空的,DataParser也发生了同