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

相关文章

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

搭建Kafka+zookeeper集群调度

前言 硬件环境 172.18.0.5        kafkazk1        Kafka+zookeeper                Kafka Broker集群 172.18.0.6        kafkazk2        Kafka+zookeeper                Kafka Broker集群 172.18.0.7        kafkazk3

安装nodejs环境

本文介绍了如何通过nvm(NodeVersionManager)安装和管理Node.js及npm的不同版本,包括下载安装脚本、检查版本并安装特定版本的方法。 1、安装nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash 2、查看nvm版本 nvm --version 3、安装

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联

高并发环境中保持幂等性

在高并发环境中保持幂等性是一项重要的挑战。幂等性指的是无论操作执行多少次,其效果都是相同的。确保操作的幂等性可以避免重复执行带来的副作用。以下是一些保持幂等性的常用方法: 唯一标识符: 请求唯一标识:在每次请求中引入唯一标识符(如 UUID 或者生成的唯一 ID),在处理请求时,系统可以检查这个标识符是否已经处理过,如果是,则忽略重复请求。幂等键(Idempotency Key):客户端在每次

pico2 开发环境搭建-基于ubuntu

pico2 开发环境搭建-基于ubuntu 安装编译工具链下载sdk 和example编译example 安装编译工具链 sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib 注意cmake的版本,需要在3.17 以上 下载sdk 和ex

pip-tools:打造可重复、可控的 Python 开发环境,解决依赖关系,让代码更稳定

在 Python 开发中,管理依赖关系是一项繁琐且容易出错的任务。手动更新依赖版本、处理冲突、确保一致性等等,都可能让开发者感到头疼。而 pip-tools 为开发者提供了一套稳定可靠的解决方案。 什么是 pip-tools? pip-tools 是一组命令行工具,旨在简化 Python 依赖关系的管理,确保项目环境的稳定性和可重复性。它主要包含两个核心工具:pip-compile 和 pip

跨系统环境下LabVIEW程序稳定运行

在LabVIEW开发中,不同电脑的配置和操作系统(如Win11与Win7)可能对程序的稳定运行产生影响。为了确保程序在不同平台上都能正常且稳定运行,需要从兼容性、驱动、以及性能优化等多个方面入手。本文将详细介绍如何在不同系统环境下,使LabVIEW开发的程序保持稳定运行的有效策略。 LabVIEW版本兼容性 LabVIEW各版本对不同操作系统的支持存在差异。因此,在开发程序时,尽量使用

Go Playground 在线编程环境

For all examples in this and the next chapter, we will use Go Playground. Go Playground represents a web service that can run programs written in Go. It can be opened in a web browser using the follow

沁恒CH32在MounRiver Studio上环境配置以及使用详细教程

目录 1.  RISC-V简介 2.  CPU架构现状 3.  MounRiver Studio软件下载 4.  MounRiver Studio软件安装 5.  MounRiver Studio软件介绍 6.  创建工程 7.  编译代码 1.  RISC-V简介         RISC就是精简指令集计算机(Reduced Instruction SetCom