当前位置: 首页 > news >正文

gdb 前端:kdbg 安装使用

文章目录

  • 1. 前言
  • 2. kdbg 安装使用
    • 2.1 安装 kdbg
    • 2.2 使用 kdbg

1. 前言

限于作者能力水平,本文可能存在谬误,因此而给读者带来的损失,作者不做任何承诺。

2. kdbg 安装使用

2.1 安装 kdbg

kdbggdb 的图形化界面的前端,在 Ubuntu 16.04.6 LTS 下,其安装方法如下:

 $ sudo apt-get install kdbg

2.2 使用 kdbg

/* main.c */#include <stdio.h>int main(void)
{printf("hello, world!\n");return 0;
}

加上 -g 参数编译:

$ gcc -o main -g main.c

打开 kdgb

$ kdbg

在这里插入图片描述

然后点击 Executable 按钮加载可执行文件 main

在这里插入图片描述

然后点击 Run 按钮运行:

在这里插入图片描述

在代码第 5 行 设置一个断点,运行:

在这里插入图片描述

注意,如果不加上 -g 参数编译,将无法正常设置并触发断点

终端输出的提示信息 warning: GDB: Failed to set controlling terminal: 0peration not permitted ,不会影响使用,该错误信息的 strace 追踪输出如下:

open("/dev/pts/17", O_RDWR|O_NOCTTY) = 3
[......]
ioctl(3, TIOCSCTTY, 0)            = -1 EPERM (Operation not permitted)
write(2, "warning: ", 9)          = 9
write(2, "GDB: Failed to set controlling t"..., 64) = 64
write(2, "\n", 1)                 = 1
close(3)                          = 0

从上面的输出可以看出,这只是 gdb 在试图设置 /dev/pts/17 时,出现权限错误,这是 gdb 自身的问题:

GDB: Failed to set controlling terminal

http://www.lryc.cn/news/438842.html

相关文章:

  • UDP_SOCKET编程实现
  • 【网络】高级IO——阻塞IO和非阻塞IO的实现
  • ASPICE培训:打造卓越的汽车软件开发能力
  • 基于Python的人工智能应用案例系列(2):分类
  • 演示:基于WPF自绘的中国省份、城市、区县矢量地图
  • 同时拥有独显和核显,怎么让应用程序选择使用哪个GPU?
  • C++八股文之面向对象篇
  • 点云深度学习系列:Sam2Point——基于提示的点云分割
  • mysql学习教程,从入门到精通,TOP 和MySQL LIMIT 子句(15)
  • 备战软考Day02-数据结构与算法
  • COMP 6714-Info Retrieval and Web Search笔记week1
  • C++在Linux实现多线程和多进程的TCP服务器和客户端通信
  • 音视频开发常见的开源项目汇总
  • Java操控Redis (面经之 使用Redis)
  • 【计网】从零开始使用UDP进行socket编程 --- 服务端业务实现
  • 正式发售!《黑神话:悟空》背后的技术力量——UE5与实时云渲染
  • qt-creator-10.0.2之后版本的jom.exe编译速度慢下来了
  • 2024CSP-J初赛全真模拟卷选择题篇(原创,难度偏简单)
  • 【Android 13源码分析】WindowContainer窗口层级-4-Layer树
  • C# 开发教程-中级教程
  • 【C++】c++的继承
  • 【ShuQiHere】 进制转换的世界:从十进制到二进制、十六进制的转换技巧
  • 《化工管理》
  • LeetCode70:爬楼梯
  • [程序员] 前人留下的苦难源,我们是否有勇气改正?
  • 聚类_K均值
  • Mac电脑剪切板在哪里找 苹果电脑剪切板打开教程【详解】
  • Python编程 - 三器一包
  • InternVL 多模态模型部署微调实践
  • Ruby Dir 类和方法