kdb 环境搭建成功

2024-01-15 19:32
文章标签 搭建 环境 成功 kdb

本文主要是介绍kdb 环境搭建成功,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.内核开关打开
.config中,需要打开如下选项

CONFIG_KGDB 加入KGDB支持
CONFIG_KGDB_SERIAL_CONSOLE 使KGDB通过串口与主机通信(打开这个选项,默认会打开CONFIG_CONSOLE_POLL和CONFIG_MAGIC_SYSRQ)
CONFIG_KGDB_KDB 加入KDB支持
CONFIG_DEBUG_KERNEL 包含驱动调试信息
CONFIG_DEBUG_INFO 使内核包含基本调试信息

2.编译下载到板子上运行

3.使能kdb
在bootargs中增加如下内容 “kgdboc=ttyS0,115200”
我的例子是:
bootargs=kgdboc=ttyS0,115200 console=ttyS0,115200 root=31:02 rootfstype=squashfs init=/sbin/init mtdparts=ath-nor0:256k(u-boot),256k(u-boot-env),6m(rootfs0),1m(uImage0),6m(rootfs1),1m(uImage1),320k(config),1m(reserved),64k(log),64k(manu),64k(ART)

4.激活kdb
进入linux之后,通过echo g >/proc/sysrq-trigger 来开启kdb
我的例子及输出是:

echo g >/proc/sysrq-trigger

[1970-01-01 00:01:55:092000]SysRq : DEBUG

Entering kdb (current=0x839d6dd0, pid 2087) due to Keyboard Entry
kdb> print
Unknown kdb command: ‘print

kdb> bt
Stack traceback for pid 2087
0x839d6dd0 2087 346 1 0 R 0x839d6fe0 *echo
[1970-01-01 00:01:55:096000]Stack : 7fd18998 000004a8 8284be8c 800b51bc 802ba6d8 80159444 82b429a0 8027fe18
[1970-01-01 00:01:55:096000] 0000000d 00003dcd 00000002 fffffffb 00000002 2ab75038 7fffffff 00000100
[1970-01-01 00:01:55:096000] 004b0000 00463668 80159638 00000571 00000000 00000001 00000000 839d6dd0
[1970-01-01 00:01:55:096000] 838ce660 800df90c 00000002 004065b0 8004a74c 004065b0 82bb77c0 fffffff7
[1970-01-01 00:01:55:096000] 800a7f50 800a7f50 004a4410 00000000 8003e700 00000000 00000000 2ab7218c
[1970-01-01 00:01:55:096000] …
[1970-01-01 00:01:55:096000]Call Trace:
[1970-01-01 00:01:55:096000][<8000ffe4>] breakinst+0x0/0x10
[1970-01-01 00:01:55:096000][<80057a88>] kgdb_breakpoint+0x30/0x58
[1970-01-01 00:01:55:096000][<80159444>] __handle_sysrq+0xa4/0x19c
[1970-01-01 00:01:55:096000][<80159638>] write_sysrq_trigger+0x64/0x6c
[1970-01-01 00:01:55:096000][<800df90c>] proc_reg_write+0x48/0x6c
[1970-01-01 00:01:55:096000][<800a7f50>] sys_write+0x58/0xa8
[1970-01-01 00:01:55:096000][<8000f324>] stack_done+0x20/0x3c
[1970-01-01 00:01:55:096000]
kdb>

U-Boot 1.1.4 (Apr 9 2015 - 17:11:33)

注意:进入断点之后,如果不执行go指令,那么系统就会停下来。当看门狗没喂会导致系统重启。
如果启动时没有指定kgdboc=ttyS0,115200,  那echo g >/proc/sysrq-trigger只会打印出帮助信息。

echo a >/proc/sysrq-trigger

[1970-01-01 00:10:00:132000]SysRq : HELP : loglevel(0-9) reBoot Crash terminate-all-tasks(E) memory-full-oom-kill(F) debug(g) kill-all-tasks(I) thaw-filesystems(J) show-memory-usage(M) nice-all-RT-tasks(N) show-registers(P) show-all-timers(Q) Sync show-task-states(T) Unmount show-blocked-tasks(W) dump-ftrace-buffer(Z)
即打印出sysrq只支持的选项

这篇关于kdb 环境搭建成功的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

Linux搭建ftp服务器的步骤

《Linux搭建ftp服务器的步骤》本文给大家分享Linux搭建ftp服务器的步骤,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录ftp搭建1:下载vsftpd工具2:下载客户端工具3:进入配置文件目录vsftpd.conf配置文件4:

Java 与 LibreOffice 集成开发指南(环境搭建及代码示例)

《Java与LibreOffice集成开发指南(环境搭建及代码示例)》本文介绍Java与LibreOffice的集成方法,涵盖环境配置、API调用、文档转换、UNO桥接及REST接口等技术,提供... 目录1. 引言2. 环境搭建2.1 安装 LibreOffice2.2 配置 Java 开发环境2.3 配

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

Python极速搭建局域网文件共享服务器完整指南

《Python极速搭建局域网文件共享服务器完整指南》在办公室或家庭局域网中快速共享文件时,许多人会选择第三方工具或云存储服务,但这些方案往往存在隐私泄露风险或需要复杂配置,下面我们就来看看如何使用Py... 目录一、android基础版:HTTP文件共享的魔法命令1. 一行代码启动HTTP服务器2. 关键参

Go语言编译环境设置教程

《Go语言编译环境设置教程》Go语言支持高并发(goroutine)、自动垃圾回收,编译为跨平台二进制文件,云原生兼容且社区活跃,开发便捷,内置测试与vet工具辅助检测错误,依赖模块化管理,提升开发效... 目录Go语言优势下载 Go  配置编译环境配置 GOPROXYIDE 设置(VS Code)一些基本

Windows环境下解决Matplotlib中文字体显示问题的详细教程

《Windows环境下解决Matplotlib中文字体显示问题的详细教程》本文详细介绍了在Windows下解决Matplotlib中文显示问题的方法,包括安装字体、更新缓存、配置文件设置及编码調整,并... 目录引言问题分析解决方案详解1. 检查系统已安装字体2. 手动添加中文字体(以SimHei为例)步骤

Java JDK1.8 安装和环境配置教程详解

《JavaJDK1.8安装和环境配置教程详解》文章简要介绍了JDK1.8的安装流程,包括官网下载对应系统版本、安装时选择非系统盘路径、配置JAVA_HOME、CLASSPATH和Path环境变量,... 目录1.下载JDK2.安装JDK3.配置环境变量4.检验JDK官网下载地址:Java Downloads

SQLite3 在嵌入式C环境中存储音频/视频文件的最优方案

《SQLite3在嵌入式C环境中存储音频/视频文件的最优方案》本文探讨了SQLite3在嵌入式C环境中存储音视频文件的优化方案,推荐采用文件路径存储结合元数据管理,兼顾效率与资源限制,小文件可使用B... 目录SQLite3 在嵌入式C环境中存储音频/视频文件的专业方案一、存储策略选择1. 直接存储 vs