汇编语言 fengchen 发布于 2024-12-24 收录于 System汇编语言 配置安装 1 2 3 4 5 6 7 8 9 10 11 12 apt install nasm gdb g++ # 安装 # vscode 插件 The Netwide Assembler (NASM) 后缀改成nas或者asm # 手工编译单个汇编示例 mkdir -p build nasm -f elf64 -o build/hello.asm.o src/fundamentals/asm/hello.asm # 编译 ld -m elf_x86_64 -o build/hello build/hello.asm.o # 链接 # 使用 CMake 构建整个项目 cmake -S . -B build cmake --build build -j$(nproc) cmake --build build --target smoke cmake --build build --target analysegdb 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 # 启动配置文件 .gdbinit,需要设置安全设置生效 cat >> ~/.config/gdb/gdbinit << 'EOF' add-auto-load-safe-path /home/username/learn_object/learn_assembly/ EOF # .gdbinit break _start run set disassembly-flavor intel # 默认att, 设置intel风格 # set disassemble-next-line on layout asm layout reg # 运行 gdb ./build/bin/arithmetic # 方法1:gdb会自动加载当前目录下的.gdbinit gdb -x /home/username/learn_object/learn_assembly/.gdbinit ./build/bin/arithmetic # 方法2:手动指定加载.gdbinit常用gdb调试 1 2 3 4 5 6 7 8 # nm 查看符号表 # x /选项 地址 查看各个变量内存信息 const char* str = "test"; x str # 默认16进制显示,内存存储内容和“test"相反(小端存储) 0x74736574 x /s str # 直接显示内容 ”test" x /d str # 十进制显示 x /4d str # 十进制显示,显示宽度为4 # 变量非指针类型,如int, 先p &value_name, 使用x查看hello world 查看系统调用号
Record fengchen 发布于 2024-12-01 收录于 Other常用工具 WSL 1 2 3 4 5 6 7 8 9 # wsl --list --online #查看可用发行版列表 # wsl --list --verbose # 列出已安装的 Linux 分发版 # wsl --status # 检查 WSL 状态 wsl --install -d Ubuntu-22.04 # 安装后重启 wsl --shutdown # 使其stop wsl --export Ubuntu-22.04 D:\wsl_ubuntu\Ubuntu.tar # 导出备份 wsl --unregister Ubuntu-22.04 #删除当前安装的系统 wsl --import Ubuntu-22.04 D:\wsl_ubuntu D:\wsl_ubuntu\Ubuntu.tar Ubuntu2204 config --default-user fengchen和windows共享代理 在Windows用户目录下新建文件.wslconfig
Blog配置 fengchen 发布于 2024-11-24 收录于 Other安装Hugo 1 winget install Hugo.Hugo.Extended安装完成后查看hugo版本验证安装是否成功