自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (2)
  • 收藏
  • 关注

原创 VSCode Server 手动安装指南

VSCode远程SSH连接需要在远程Linux机器上安装一个VSCode Server组件。使用 WinSCP、FileZilla 或其他 SFTP 工具上传文件。当自动下载失败时,就需要手动在本地下载,然后传输到远程机器进行安装。在自动下载时,长时间无法成功、或反复失败,这时候看日志能看到。依照这个HASH值来找到 server 组件。使用以下任一方法将下载的。确保远程机器上安装了。

2026-03-17 15:09:10 583

原创 Linux Crash分析入门(四):案例分析

可以查看源代码,但因为出问题的位置是mydrv_deinit的static子函数(应该是内联了),无法直接查看。文件,可以看到源码及汇编指令(为了保密期间,我打开linux源码中的component_bind_all函数)若mydrv.ko是release版本,反汇编之后的.s文件只包含汇编指令。对mydrv.ko反汇编,直接找到崩溃点的地址对应的源代码。进入crash命令行后,load私有ko。反汇编,找到crash处的位置及汇编指令。加载mydrv.ko后系统crash。,反汇编之后的.s文件包含。

2025-07-04 01:03:22 469

原创 Linux Crash分析入门(三):crash命令

可以看到汇编指令,通过offset可以找到具体地址对应的具体指令。crash就出现在该指令上。里提到,用crash工具分析kdump生成的dump.xxx文件的命令是。获取到某个函数的某个offset位置,但无法获取这个位置是哪条指令。命令查看非linux内核的结构体,例如我的私有驱动。的.s,可以找到具体是哪条指令导致crash。bt -c 6:查看 CPU 6 上的调用栈。查看系统崩溃之前的kernel日志,与。命令功能强大,边用边查,在此不举例。可以查看bt命令相关的用法。可以查看func函数的。

2025-07-03 14:34:46 529

原创 Linux Crash分析入门(二):启动kdump

检查kdump的配置与启动都正常之后,再不能有更多的检查了。只能接上串口,从日志上查看系统panic时为什么不能启动第二内核(dump-capture kernel),或启动但未成功转储。重启之后,系统发生panic时,会正常进入dump-capture kernel,并开始转储 dumpfile。以上,kdump服务已生效,在系统崩溃时会可生成对应的dump转储文件,保存在。重启之后,可用以下方法检查config是否生效。使用crash工具时,还需要安装带有调试信息的。安装完毕,重启生效。

2025-07-02 22:25:39 1133

原创 Linux Crash分析入门(一):kexec+kdump+crash简介

kexec是 Linux 提供的一种内核快速启动机制。它允许我们直接从当前运行的内核加载并跳转到另一个内核,而不需要经过 BIOS/UEFI 的硬件初始化过程。kexec为 kdump 提供 dump-capture kernel 的跳转机制。

2025-07-01 00:44:56 1084

原创 遇到“Unknown symbol xxx”怎么办?(So easy)

insmod的时候出现Unknow symbol了咋办?

2024-12-05 09:12:21 2586

原创 Linux Framebuffer测试程序

应用空间读写 fbp 内容即为读写 framebuffer 内容。mmap() 在调用进程的虚拟地址空间中创建新的映射。在Linux6.5及之前的版本,可以使用。在Linux6.6及之后的版本,可以使用。作为hook,来调用内核接口。

2024-11-27 20:32:02 592

原创 Ubuntu 升级/降级内核到指定版本

参考文档:https://blog.51cto.com/u_15301988/3087517。

2024-10-29 16:04:20 2754 2

原创 vscode ssh 免密登录 remote

vscode ssh 免密登录 remote

2023-06-07 16:10:06 619

原创 Linux 创建 debugfs 调试节点

debugfs是一个Linux内核提供的虚拟文件系统,旨在为内核开发人员提供一个调试接口。它可以在运行时动态地创建文件和目录,这些文件和目录与内核数据结构相关联,以提供对内核信息的实时访问。通过debugfs,开发人员可以方便地查看和修改内核数据结构,例如文件系统进程列表驱动程序状态等等。内核提供了大量的debugfs接口,以便开发人员创建、删除、读取和写入文件,以及管理文件权限所有权和其他属性。这些接口包括等等。通过debugfs,开发人员可以方便地调试内核问题,以及开发和测试内核驱动程序。

2023-05-09 17:11:09 876

原创 i2c-tools工具用法

i2c-tools工具用法详解,一看就会!

2022-12-14 08:30:00 725

原创 C++学习历程(二)——函数

C语言开发者快速学会C++

2022-08-23 23:04:24 484

原创 C++学习历程(一)——基本语法与变量

C语言开发者快速学会C++

2022-08-14 19:20:06 490

原创 Source Insight创建Project

Source Insight创建新的Project

2022-03-06 16:08:01 3377

原创 Chrome浏览器多账户登录

Chrome浏览器多账户登录目的方法复制Chrome快捷方式创建目录修改Link路径目的Chrome浏览器同一时间在同一个网站上只能登录一个帐号。比如163邮箱、腾讯视频等,同一时间只能登录一个帐号。如果要登录两个163邮箱帐号,就只能反复登进登出来回切换,影响心情又影响效率。此时,就想找个办法同时登录两个163邮箱、或腾讯视频。干啥用?先留着,总会用到的^_^方法复制Chrome快捷方式在桌面找到Chrome浏览器的快捷方式,复制两份。命名为Chrome Private和Chrome Pub

2022-01-13 21:33:04 3592

原创 ThinkPad X240安装windows或ubuntu系统——配置BIOS

ThinkPad X240电脑在安装操作系统之前需要配置一下BIOS,默认配置会失败。

2022-01-09 18:23:39 9544

原创 ubuntu16.04LTS使用gnome桌面

ubuntu16.04LTS使用gnome桌面更新源列表安装gnome注销重新登录,或重启系统更新源列表首先更新系统源列表sudo apt-get update安装gnomesudo apt-get install gnome-session-flashback注销重新登录,或重启系统重新登录之后,会有如下选择选择gnome即可。...

2022-01-09 15:40:22 1357

原创 用命令行打开指定目录

用命令行打开指定目录。基本指令nautilus+路径命令可以在ubuntu上直接打开此路径的目录。如nautilus ~/workspace/。打开win格式的路径在Windows上的路径为反斜线\,在ubuntu命令行是无法识别的,此时需要将\转换为/。使用sed命令可以自动转换。以下命令可以打开/home/eric.cai/Workspace/目录:nautilus $(echo’\home\eric.cai\Workspace’ | sed ‘s+\\+/+g’)写成

2021-08-31 16:25:24 1360

原创 bash命令整理

bash命令

2021-08-13 11:23:44 238

原创 DOS命令整理(.bat批处理)

Windows Dos命令常用命令pause暂停命令。执行命令后,会显示“请按任意键继续…”。目录管理进入到本目录cd %~dp0常用符号回显屏蔽@执行.bat时,不显示@后面的命令。如:pauseD:\test>pause请按任意键继续…@pause请按任意键继续…...

2021-08-02 11:30:53 1215

原创 inline内联类型函数(inline、__always_inline、noinline)

目录1. 定义2. 接口3. 优缺点4. inline、__always_inline、noline的区别5. 与宏的区别6. 验证inline的方法C程序编译为汇编1. 定义TODO2. 接口#define __inline__ inline#define __inline inline#define __always_inline inline __attribute__((always_inline))#define noinline __attribute__((noinline))

2020-12-07 20:08:03 5893 1

原创 C语言编译过程(预处理、编译、汇编、链接)

目录命令C语言源程序预处理(Preprocessing)编译(Compilation)汇编(Assembly)链接(Linking)命令$ gcc -E hello.c -o hello.i$ gcc -S hello.i -o hello.s$ gcc -c hello.s -o hello.o$ gcc hello.o -o hello$$ ./hellohello world!pre-compiled here!static __always_inline void func

2020-12-06 21:58:53 435

原创 Bin文件转换为十六进制(Python)

目录目的Code代码说明代码实例目的在Coding过程中经常需要把某文件load到IC的RAM中。此时需要把文件转换为16进制数,利用I2C、SPI等接口进行load操作。Code代码说明由于在Coding过程中,文件转换成的十六进制数常常以头文件的形式被调用,所以直接将代码输出样式写成头文件的形式。功能:将文件转换为十六进制数用法:python bin_to_hex.py file.bin > dst.h用C语言实现此功能,请转到另一篇Blog:Bin文件转换为十六进制(C语

2020-12-03 22:30:59 2299

原创 Bin文件转换为十六进制(C语言)

目录目的Code代码说明代码实例目的在Coding过程中经常需要把某文件load到IC的RAM中。此时需要把文件转换为16进制数,利用I2C、SPI等接口进行load操作。Code代码说明由于在Coding过程中,文件转换成的十六进制数常常以头文件的形式被调用,所以直接将代码输出样式写成头文件的形式。功能:将文件转换为十六进制数用法:如果定义了FILENAME,则直接转换宏定义的文件$gcc bin_to_hex.c -o bin_to_hex.o$./bin_to_hex.o &

2020-12-03 21:48:57 3740 1

原创 My参考网站

GCCGCC(GNU compiler Collection,GNU编译套装)

2020-12-02 23:52:16 3525

原创 Blog依赖

About LinuxLinux源码库地址:点这里

2020-12-02 00:45:27 183

lghub_installer.exe

lghub_installer.exe

2024-05-29

My_SourceInsightTheme.xml

theme.xml

2021-12-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除