跳至主要內容
解决MacOS中找不到头文件的问题

背景

在交叉编译 LVGL 的时候一直出现找不到头文件的问题,但是 Intellisense 却又能定位到头文件位置

解决方法

因为 MacOS 中的头文件不在usr/include等目录下,而是在/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/目录下,创建这个软连接后就解决了问题

sudo ln -s /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/* /usr/local/include/

Chiichen小于 1 分钟杂谈Debug杂谈MacOSDebug
记一次 GP Debug 的心路历程

背景

背景是在重构完 Signal 之后,一开始用我们自己的 libc 测试 signal 功能没有问题,但是在用 relibc 测试的时候出问题了,出错的原因就是一个 Userland 的 General Protection(GP),这个东西是一个硬件异常,通常是由于汇编指令出错或者内存访问出错导致,比如把一个未对齐的内存地址作为某个指令的操作数,而这个指令要求这个内存地址是 8/16 对齐的。

初步分析

在查看 GP 的 RIP ,反汇编了用户空间的测试程序之后,看到了对应的汇编代码是

movapd %XMM0 0xe0(rsp)

Chiichen大约 7 分钟杂谈Debug杂谈General ProtectionDebug