当我使用glm::vec3类和gdb调试我的C++程序时,向量类非常难以处理:
我在手册中读到,可以编写调试助手。
我已经成功让qtcreator加载了文件(如果我的python文件有语法错误,则调试器会立即退出并显示错误)。
如何编写一个极简的调试助手?
vec3代码似乎没有任何可见效果。对于foo,它似乎起到了某些作用,但是qtcreator只显示而不是打印“Yay, Foo works :)”。请参见以下截屏:
![qtcreator中调试器的截图](https://istack.dev59.com/85R0c.webp)
我已经成功让qtcreator加载了文件(如果我的python文件有语法错误,则调试器会立即退出并显示错误)。
如何编写一个极简的调试助手?
我已经尝试过的:
这是C++代码。#include <glm/glm.hpp>
class Foo
{
};
int main(int, char**)
{
glm::vec3 vec3(42, 64, 256);
Foo foo;
(void)vec3;
(void)foo;
return 0;
}
这是我的调试助手:
from dumper import *
def qdump__glm__vec3(d, value):
d.put("Yay, vec3 works :)")
def qdump__Foo(d, value):
d.put("Yay, Foo works :)")
vec3代码似乎没有任何可见效果。对于foo,它似乎起到了某些作用,但是qtcreator只显示而不是打印“Yay, Foo works :)”。请参见以下截屏:
Value(name='x',type=double,bsize=None,bpos=None,data=,address=0x1f59718)
这样的东西,你可能想使用value['variable_name'].value()
。 - KungPhoo