如何调试自编求解器cpp文件的代码?
-
用的Ubuntu+vscode平台,我想设置断点一行一行代码运行,可是为什么运行第一行就会出现“fatal error:fvCFD.H没有那个文件或目录”?
-
求大神解答,在线等!!
-
-
@队长别开枪 我已经编译过了,还是不能一行行调试
-
@dongdong 不知道怎么用
wmake
进行断点调试啊,我一般都是使用Info << << endl;
看输出的值是否异常。 -
@队长别开枪 你的意思是在代码里面加"Info << << endl;",再运行求解器比如icoFoam?
-
@dongdong 对的,
Info << #你想输出的变量# << endl;
,也可能有更高级的工具,坐等坛子里的大神来回答:happy: -
编译debug版本,设置断点,用gdb调试。
-
@wwzhao 怎么编译debug版本?
-
-
@wwzhao “Find out from the printed stack trace which files contain the functions that crash. Copy these into your local directory.”他这个需要把所有的头文件或代码加到我的工作目录中,太多了啊,OF的头文件一环套一环的,有没有更好的方法?
-
@dongdong 建议编译一个完整的debug版本,
export WM_COMPILE_OPTION=Debug
设置环境变量然后编译。 -
@wwzhao 已经在重新编译中...麻烦一下能不能举个例子,你是怎么一步步调试自编求解器的代码(头文件和库不在工作目录,经常找不到头文件)?
-
@dongdong 要调试还是编译?听你说的好像编译还没通过?
-
@wwzhao 编译通过了,以icoFoam举例子,我复制到user下(自编求解器所在工作目录),编译成功后,应该怎么调试呢?(vscode一直提示“找不到头文件”,这些头文件包括fvCFD,setRootCase之类的,因为像fvCFD头文件也包括了大量其它头文件,我不可能把所有这些头文件都放到工作目录)
-
@dongdong 用gdb,具体用法可以查gdb的使用手册,参考 http://www.tfd.chalmers.se/~hani/kurser/OS_CFD_2008/debugging.pdf
-
@wwzhao 谢谢BZ!我试试~
论坛登录问题反馈可联系 li.dy@dyfluid.com