Eclipse C++ 无法debug 问题

2024-04-28 20:04
文章标签 eclipse c++ debug 无法 问题

本文主要是介绍Eclipse C++ 无法debug 问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

环境:

        ubuntu20.04

        Eclipse CDT(x86_64)

        工程,使用的是默认的CMake Project

现象:       

        1. 使用Eclipse, 加了断点后,debug 无法停在断点;step over 执行后是从main 直接执行到exit , 一步一步运行。

        2. 生成 的可执行文件,使用gdb 调试,在加载完后,报:

        No debugging symbos found.

解决方法:

根据第二步, gdb 的调试,怀疑是编译的执行文件没有带符号表,一般没有带符号表的原因是编译优化导致,所以在CMakeList.txt 文件中加入如下:

set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -ggdb -O0")

set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -ggdb -O0")

按照道理来说添加以上配置后,增加了gdb 调试信息,以及较小了优化力度后,应该会有符号表了,但是发现依旧无效。

最后看CMakeList.txt 中无CMAKE_BUILD_TYPE 的配置(我以为是Eclipse 会根据界面使用Run/Debug 自动配置). 手动添加,采用build type 为debug:

set(CMAKE_BUILD_TYPE debug)

重新编译后,发现带了符号表文件,可以在eclipse 中或者gdb 里面看到符号信息了。

这篇关于Eclipse C++ 无法debug 问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/944130

相关文章

【jest 调试 - vscode debug】

jest 测试typescript,如果想对测试文件本身断点调试。 安装jest相关依赖 # jest本体npm install --save-dev jest# jest的类型声明npm install --save-dev @types/jest# typescript中使用npm install --save-dev ts-jest launch.json 配置参考 {"

C++ Primer Plus第七章复习题

1、使用函数的3个步骤是什么? 答: 定义函数,提供原型,调用函数 2、请创建与下面的描述匹配的函数原型。 a.igor()没有参数,且没有返回值b.tofu()接收一个int参数,并返回一个float。c.mpg()接受两个double参数,并返回一个double。d.summation()将long数组名和数组长度作为参数,并返回一个long值。e.doctor()接收一个字符

Android 10.0 Launcher3定制folder文件夹2x2布局之三foldericon的2x2的布局后拖拽只能停放在右边的问题修复

1.前言 在10.0的系统rom产品定制化开发中,在对Launcher3的folder文件夹功能定制中,要求folder文件夹跨行显示,就是 2x2布局显示,默认的都是占1格的,现在要求占4格显示,系统默认是不支持显示4格的,所以接下来需要分析相关的 功能,然后来实现这个功能 2.Launcher3定制folder文件夹2x2布局之三foldericon的2x2的布局后拖拽只能停放在右边的

C++ static_cast学习

static_cast可实现,     1 基本类型之间的转换     2 void指针转换为任意基本类型的指针     3 用于有继承关系的子类与父类之间的指针或引用的转换 用于基本类型转化时,会损失精度类似于C语言的强制转化; 下面先看一下void指针的转换; void CCastView::OnDraw(CDC* pDC){CCastDoc* pDoc = GetDocu

【ShareSDK社会化分享】新浪微博分享网络图片问题

新浪通过审核后分享网络图片时报错     {"error":"Insufficient apppermissions!","error_code":10014,"request":"/2/statuses/upload_url_text.json"}; 浪微博支持分享网络图片,但是这个需要高级微博写入权限,因此如果您需要分享网络图片,请申请权限以后,将图

支付宝集成部分问题解决方法

1.添加支付宝必要的几个依赖库 2.编译报base64错误添加 #import <Foundation/Foundation.h> 3. 编译报错#include<openssl/asn1.h>这一行  “openssl/asn1.h”file not found 找到Targets  Header Search Paths 添加文件路径 还是报错再找到Project

MAC上搭建eclipse+android开发环境

mac jdk,eclipse,adt 下载eclipse 找到“Eclipse IDE for java Developers”,选择“Mac OS X(Cocoa)” 根据你的mac处理器,去选在是下载64bit或32bit, 这里我的Pro是i5处理器支持64位,点击右边的“Mac OS X 64bit”。(如何查看MAC处理器多少位:关于本机->

Your account already has a valid iOS Distribution certificate!问题解决

- 出现下图提示的错误提供了两种解决方式,一个是把之前的发布证书导出来拿到你发布的mac上用,目前采用第二种方式处理直接删除之前的重新申请发布证书1.- 登陆发开发者中心,删除一个发布证书2.- 然后按照正常的发布证书申请流程就行申请3.- 最后回来Xcode提交打包文件 问题截图,其实上门已经有解决方案2种 1.- 登陆发开发者中心,删除一个发布证书 开发者账号发布证

C++显式类型转换

本文主要分析C++的4种显式类型转换 文章目录 static_cast基本数据类型转换const用于类层次结构void* dynamic_cast继承中的转换 const_castreinterpret_cast参考资料 我们使用显示类型转换,就是在告诉编译器要怎么解释这块内存。 在早期C/C++中,显式的类型转换有如下两种形式 type(expr); // 函数形

ORACLE 19C RAC单节点环境asmca界面中ACFS菜单不显示问题的处理

近期,在安装一个单节点服务器,使用ORACLE 19C RAC的ASM功能进行磁盘的冗余配置(类似用ASM实现RAID卡的RAID功能),为了兼容低版本的数据库软件(数据库不升级),使用了ASM的ACFS文件系统,来提供一个挂载点目录,运行11G的数据库。 正常安装配置,过程都正常;重启服务器测试时,发现问题:ACFS的挂载点目录没自动挂载 ,数据库也就无从启动了。 继续分析,发现是12版本开