mac上用cursor/vscode调试root权限进程

对于root权限进程,保底可以用xcode来调试,当然前提是这个进程是debug版的,release版的进程调试不在本文覆盖范围内

xcode易用性远不如vscode/cursor,能在cursor里断点调试那就更方便了

普通进程cursor里直接launch或attach一下就可以直接调试,root权限的进程用curosr直接attach会报错,这时候就可以使用lldb的远程调试来处理了

本质上就是参考下面这篇官方文档

https://lldb.llvm.org/use/remote.html#remote-system

首先在mac上安装lldb

复制代码
brew install lldb

然后把debugserver软链接到lldb-server同一目录下

复制代码
ln -s /Applications/Xcode.app/Contents/SharedFrameworks/LLDB.framework/Resources/debugserver /opt/homebrew/opt/llvm/bin/debugserver

然后以sudo权限运行lldb-server

复制代码
sudo /opt/homebrew/opt/llvm/bin/lldb-server platform --listen "*:1234" --server  

剩下在cursor里配一下launch.json设定就可以了,

复制代码
[ 
    {
      "name": "attach lldb",
      "type": "lldb",
      "request": "attach",
      "pid": "${command:pickProcess}",
      "sourceMap": {}
    },
    {
      "name": "attach root process remote lldb port",
      "type": "lldb",
      "request": "attach",
      "pid": "${command:pickProcess}",
      "initCommands": [
        "platform select remote-macosx",
        "platform connect connect://localhost:1234"
      ],
      "sourceMap": {}
    },
    {
      "name": "launch mac program",
      "type": "lldb",
      "request": "launch",
      "program": "${workspaceFolder}/bin/mac/Debug/myApp",
      "args": [      ],
      "cwd": "${workspaceFolder}/bin/mac/Debug/",
      "sourceMap": {}
    }

]

这样就可以很方便的在cursor里attach或launch应用来调试了,而且root权限的进程也同样可以调试,是不是要方便很多

相关推荐
蚂蚁不吃土&2 小时前
vscode + chinese(simplified)
ide·vscode·编辑器
智者知已应修善业2 小时前
【51单片机89C51及74LS273、74LS244组成】2022-5-28
c++·经验分享·笔记·算法·51单片机
Byron Loong5 小时前
【c++】为什么有了dll和.h,还需要包含lib
java·开发语言·c++
坚果派·白晓明6 小时前
【鸿蒙PC三方库移植适配框架解读系列】第一篇:Lycium C/C++ 三方库适配 — 概述与环境配置
c语言·开发语言·c++·harmonyos·开源鸿蒙·三方库·c/c++三方库
摇滚侠6 小时前
IDEA 生成 try catch 快捷键
java·ide·intellij-idea
咩咦7 小时前
C++学习笔记02:cin 和 cout 输入输出
c++·学习笔记·cin·输入输出·cout
咩咦7 小时前
C++学习笔记05:引用和常引用
c++·学习笔记·引用·const·常引用
香蕉鼠片7 小时前
算法过程中不会的
开发语言·c++
阿旭超级学得完7 小时前
C++11包装器(function和bind)
java·开发语言·c++·算法·哈希算法·散列表
li星野7 小时前
位运算 & 数学 & 高频进阶九题通关(Python + C++)
c++·python·学习·算法