macos gdb调试c++若干问题

Posted bitcarmanlee

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了macos gdb调试c++若干问题相关的知识,希望对你有一定的参考价值。

1.startup-with-shell’ is enabled

gdb在运行run命令的时候,提示如下问题:

Because `startup-with-shell’ is enabled, gdb has worked around this by
caching a copy of your shell. The shell used by “run” is now:
/Users/wanglei/Library/Caches/gdb/bin/zsh

解决方案:
1.先退出gdb。
2.cd到当前用户目录,在用户当面目录创建一个.gdbinit文件。
3.编辑该文件,添加如下内容:set startup-with-shell off
4.退出并保存该文件。
5.重新运行gdb即可。

2.unable to find Mach task port for process-id

遇到该问题,解决方法比较简单。
退出gdb程序,用sudo方式执行gdb命令行即可。

参考文献

1.https://stackoverflow.com/questions/39702871/gdb-kind-of-doesnt-work-on-macos-sierra
2.https://stackoverflow.com/questions/11504377/gdb-fails-with-unable-to-find-mach-task-port-for-process-id-error

以上是关于macos gdb调试c++若干问题的主要内容,如果未能解决你的问题,请参考以下文章

关于macOS Sierra无法使用gdb进行调试的解决方案

Ubuntu-1404 GDB 调试C++报错

使用gdb调试c++程序

在 GDB、C++ 中调试 OpenCV 矩阵

调试 C++ 程序时出现奇怪的 gdb 消息

性能分析之 GDB 调试 C++ 应用去分析 core dump