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...
Neovim下java 开发的最佳实践
写在前面
秋招基本上结束了, C++算是告一段落, 但是学习之路才刚刚开始.
下面写一下 Nvim 上 Java 开发的一些基本配置, 还是延续了以往的轻量级开发环境搭建方法, Nvim 的配置可以看我之前的文章.
光会 C++不行, 后端语言还得看 Java/Go
下面的配置主要针对 Java 开发的代码补全, 代码格式化等操作, 用到的插件是
clang-format(没错, 这个万能插件可以格式化 Java)
nvim-jdtls(相当于是对 eclipse-jdtls 的一层封装, 比较好用的, 之所以不用 java-language-server 是因为这个插件的维护还是差点意思)
参考了 GitHub 的一些文档:
mfusseneg...
Cmake学习(一)基本命令
写在前面
随着C/C++项目越来越大, 项目管理也变得复杂起来, 之前一直使用的是一行编译命令, 但是这样逐渐变得复杂起来, 之后接触到了make, 虽然比较方便了, 但是还是要记住很多的命令与逻辑, 由于我用CLion比较多, 其内置的就是采用cmake进行项目管理, 这里就深入总结一下Cmake了.
基本命令
I/O
message
参考
共计 465 篇文章,59 页。
您是Zorch的第 个小伙伴
Hits