我正在使用科学的Linux。 我正在处理大量的C ++代码和大量的cpp文件。 现在,它编译成功,但我得到的价值/数据是绝对错误的。 另外,我对代码做了一些小的修改,导致了seg错误。
在目录user/project/Build ,inputmake来编译并链接所有的cpp文件。 然后我必须通过inputuser/run/run.sh来到user/project/Build/bin/project来运行项目二进制user/run/run.sh
当我进入目录/user/project/Build/bin ,然后键入gdb project然后run ,我看到Program exited with code 01. Missing separate debuginfos,use: debuginfo-install glibc..
如果我尝试设置一个断点,例如通过break test.cpp:19 ,我得到消息No source file named test.cpp. Make breakpoint pending on future shared library load? No source file named test.cpp. Make breakpoint pending on future shared library load? 但我清楚地有一个名为test.cpp的源文件
防止内存碎片
我在哪里可以findsql Server版本的友好的string?
如何testing调用过程是否是分叉
如何更改SysDateTimePick32或CDateTimeCtrl的背景颜色?
如何清除Linux上的C ++目录内容(基本上,我想要做'rm -rf <directorypath> / *'
我怎样才能设置断点? 考虑到我是Unix的初学者,我应该使用另一个IDE,比如emacs或Qt创build者吗?
事件可以是进程间的吗?
将LPWST转换或转换为BSTR
Eclipse中的Enum声明
如何在UWP项目中查看文件更改?
带有UNICODE(希伯来文)字符的wprintf
你读过GDB的文档吗? 阅读它是绝对值得的。 阅读gdb一些教程
如果你的Makefile -s是由cmake生成的,你还应该研究cmake的文档和make的文档 。 另请参阅相关问题的答案 。
你用g++ -Wall -g编译了所有的软件( 没有任何优化标志,比如-g3或-O2 ) – 或者甚至是-g3而不是-g ?
你甚至可以安装你正在使用的主要库的调试变体(例如像glibc-debuginfo等包)
你可能想要指定(用于gdb )的源代码目录,用gdb的dir命令来搜索…
是的,我推荐使用emacs 。 但最重要的是,我强烈建议花费几个小时(甚至几天,甚至几周)来学习更多关于Linux和软件开发的知识(有很多书,网站, 教程和其他培训,…)。 也许从一个像hello-world这样的小程序开始(学习如何用g++编译并用gdb进行调试)。 然后尝试编译和调试一个你喜欢的小型(例如十万行源代码)免费软件(例如fishshell或者你从sourceforge或github获得的任何东西),以便了解这种软件是如何构建的。
如果你正在使用(或改进)一个大型的科学软件,它可能有一些社区网站,邮件列表或论坛寻求帮助(参见geant或kiva或aster作为例子,我只知道名字!)。 也请使用它们。
PS。这主要不是选择工具的问题:你使用的是好的(GCC,即g++ , emacs , gdb , make , grep或ack , etags , git , awk ,….)。知道如何明智地使用它们并结合它们的使用,这是一件很重要的事情,要花上数周甚至数月的时间。另见这个 & 那 。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。