Linux 下安装使用 lldb 出现 pythonmodule not found 的解决方案
写在前面
在 archlinux 和 Ubuntu 上都遇到了这个问题, 后来看 issue 解决 了
解决
ModuleNotFoundError: No module named ‘lldb.embedded_interpreter’ · Issue #55575 · llvm/llvm-project;
apt install python3-lldb-14
ln -s /usr/lib/llvm-14/lib/python3.10/dist-packages/lldb/* /usr/lib/python3/dist-packages/lldb/
Lldb 使用指南与 gdb 命令对比表
写在前面
本来想一直写 gdb 系列的, 但是奈何每次都要开虚拟机, 实在是不方便, 还是老老实实用 lldb 吧, 也不难用, 就是需要学一套新的命令而已…
这里的测试环境就是 MacOS arm64, llvm-17.
注意每次编译都要加上-g参数, 以便生成调试信息, 在 MacOS 下会生成a.out.dSYM 文件夹.
开发背景
Debugging with LLDB;
gdb 的一些问题
■ Architecture
■ Parses information in large chunks
■ GDB was not designed to vend an API (未设置开放的 API)
■ Global variables contain p...
理解 fopen 的几种参数 rwar+w+a+
理解
一图胜千言
我愿称之为最强
c - Difference between r+ and w+ in fopen() - Stack Overflow;
需要注意里面的a和 a+, 区别在于 a 不可以读而 a+可以读.
c - Difference between r+ and w+ in fopen() - Stack Overflow;
Mode
Read
Write
Create New File if not exist
Truncate
r
✅
❌
❌
❌
...
M1mac 使用 qemu 配置 archlinux 虚拟机的完整c++开发环境与踩坑指南
写在前面
之前写了关于 qemu 安装 archlinux 的文章, 但是还有一些内容没得到解决, 比如很多时候 ssh 连接不成功, 这时候用图形界面(默认选项)的优势就体现出来了, 并且如果需要传输文件或者需要使用对外的端口, 仅转发一个22端口是不够的, 最后就是 gdb 调试的整套环境的配置, 这些问题都要解决.
因为服务器太贵了, 也不想续费, 还是本地老老实实跑qemu虚拟机吧…
qemu 的配置-完善版
之前的配置
#!/usr/bin/env bash
diskfile="$HOME/Documents/archlinux-x86_64-cc.qcow2"
# if [ $# -ne 1 ]; then
# echo "USAGE: $0 dis...
Gdb 日志记录不显示到屏幕的方法(gdb13最新版)
写在前面
gdb 的更新好快啊…
之前的选项都有改动了, 比如 logging..
需要屏幕重定向不能简单设置:
set logging on
set logging redirect on
了, 而是要多开一个配置, 踩坑了
方法
在此之前先看一下我的 gdbinit 配置:
set debuginfod enabled off
set pagination off
分别用于设置自动下载 Debug 信息和禁止分页(否则显示完一页之后就结束了)
步骤
[arch@archlinux gdb_test]$ gdb /bin/ls
GNU gdb (GDB) 13.2
Copyright (C) 2023 Free Software Foundation, In...
共计 460 篇文章,58 页。
您是Zorch的第 个小伙伴
Hits