草庐IT

gdb_objc_realized_classes

全部标签

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-

警告:指定的串行端口在第127行上的php_serial.class.php中无效

我试图使用PHP与串行端口进行通信,我的代码是,deviceSet("COM1");$serial->confBaudRate(2400);$serial->confParity("none");$serial->confCharacterLength(8);$serial->confStopBits(1);$serial->confFlowControl("none");$serial->deviceOpen();$serial->sendMessage("Hello!");$read=$serial->readPort();$serial->deviceClose();$serial->c

c++ - 如何使用调试构建 libwebsockets(即 -g,以便我可以使用 gdb)? (我在 libwebsockets 函数 ssl_ctrl() 上遇到段错误)

供您引用(因为我在下面提到了库函数),可以在此处找到libwebsockets文档:https://github.com/warmcat/libwebsockets/blob/master/libwebsockets-api-doc.html#L466可在此处找到网站:http://libwebsockets.org/trac/libwebsockets我的问题是,如果我为libwebsocket_client_connect()函数的ssl_connection参数传入1或2,我会遇到段错误。我的代码是用C++编写的。为了找出它发生的位置,我在gdb中运行了我的代码(在添加了-g标志

【S32DS报错】-2-提示Error while launching command:arm-none-eabi-gdb –version错误

目录1Error错误提示2Error错误原因3如何消除Error错误结尾【S32K3_MCAL从入门到精通】合集:S32K3_MCAL从入门到精通https://blog.csdn.net/qfmzhu/category_12519033.html1Error错误提示使用S32DS+J-LinK下载程序,在DedugConfigurations…,并单击Debug,弹出如下错误:LaunchingFreeRTOSToggleLedExampleS32K344DebugFLASH'hasencounteredaproblem.Errorwhilelaunchingcommand:arm-none

c++ - 在使用 gdb 检查核心转储时,有没有办法运行函数(如 std::string.size())?

考虑一个产生某些段错误并中止的C++程序。在使用gdb进行常规调试时,我可以执行以下操作并查看结果(gdb)r(gdb)pstr_var.size()其中str_var在文件中定义为std::string。但是,我在使用核心转储进行调试时遇到了一些问题。在我通过在gdb中加载核心转储之后gdbEXECUTABLEcore.pid然后在gdb终端运行以下命令(gdb)pstr_var.size()gdb说“如果没有调试过程,你就不能这样做。”我只能做bt(查看堆栈跟踪)或直接打印std::string变量之类的事情,但是找不到一种简单的方法来检查一些信息,例如打印std::string的

c++ - VC++ 警告 C4356 : static data member cannot be initialized via derived class

以下代码发出此警告,但它似乎工作正常,因为A::st和B::st都已初始化并且实际上代表相同的字符串。据我了解,这是格式错误的代码,不应编译(我检查了clang)。我想知道为什么VC++不发出错误而是发出警告?#include#includeclassA{public:staticconststd::stringst;};classB:publicA{};conststd::stringB::st="abcd";//warningC4356:'A::st':staticdatamembercannotbeinitializedviaderivedclassintmain(){std::

c++ - 由于 KERNELBASE.dll 错误,GDB 无法运行程序

我最近才开始遇到这个问题,我不知道它是什么时候开始出现的/是什么原因造成的。我这里有这个简单的测试程序:#includeintmain(){return0;}但是当我尝试正常运行它时,它会创建一个堆栈转储。Stacktrace:FrameFunctionArgs00CBC4986101D93A(00000198,0000EA60,000000A4,00CBC508)00CBC5C8610E2F3F(00000000,60FC04E8,00CBC658,7794ABEE)然而,当我尝试在GDB中运行它时,它显然无法运行。gdb:unknowntargetexception0x406d13

c++ - 对类型的非常量左值引用 - 使用 Class 类型的参数时 Objective-C++ 包装器中的错误

我有两个用Objective-C++编写的包装器类,用于它们等效的C++类。我们称它们为OABCClass和OXYZCallbackInterface。现在我在C++(ABCClass)中有一个方法,其中一个参数是一个接口(interface)-XYZCallbackInterface。例如:std::stringmethodWithArguments(std::stringreq,CommonNamespace::XYZCallbackInterface&callback);在我的Objective-C++包装器类中,即OABCClass我对上述C++方法的方法实现如下所示:-(NS

c++ - C++ 中的继承 : define variables in parent-child classes

问题我正在寻找在父子类中定义变量的最佳方法,以便通过指向其父类的指针进行调用。这是协议(protocol):classBase{public:virtualvoidfunction()=0;};classA:publicBase{public:inta,b;A(inta_,intb_):a(a_),b(b_){};voidfunction(){//dosomething..}};classB:publicBase{public:inta,b;B(inta_,intb_):a(a_),b(b_){};voidfunction(){//dosomething..}};Base*elemen

c++ - 访问父类(super class)类型成员对象的 protected 成员——一个优雅的解决方案

首先,我知道我做不到,我认为这不是重复的问题(this和this问题处理的是同一个问题,但他们只想解释为什么它不起作用).所以,我对类和继承有类似的概念,我会以某种方式优雅地做一些被禁止的事情。这是一个非常简单的代码片段,它反射(reflect)了我想要做的事情:#includeclassA{protected:intvar;std::vectorheavyVar;public:A(){var=1;}virtual~A(){}virtualvoidfunc(){std::coutvarmyA=&a;this->var=this->myA->var;//copysomesimpledat