You are one guy who never attempts to admit any mistake. (very common on the internet)
我是两个编辑器都玩的,我并没想撕任何一方。两者都是我日常工具。我也没想要emacs能做IntelliJ的事。我说的是用过IntelliJ 才能理解emacs的好。我的另一个观点,是反对开源软件只能当玩具,不能真做事。可是我帖子一发 就一堆人上来就喷。这就是emacs用户水平高?现在看来基本明白了,懂emacs的人没几个用IntelliJ 的,我觉得这样也未必会真懂emacs。另外一个收获,好多人真是拿它当玩具,稍微严肃一点都会招来反对。我参与过的开源项目都是大公司人做的,对质量都有严苛的要求。
实验了一波,还是cgdb好用啊,方便集成到其他workflow里。
我来分析一下为什么 “帖子一发 就一堆人上来喷”
人都不喜欢被人批评 这是天性
批评是一种论点,需要论据来支撑;当别人认为论据不足的时候,会产生加入辩论的情感不足为奇。
“没用过intellij(的人)【不足以】谈论Emacs”
“用了intellj,才更能体会Emacs的好”
比较一下?讲话的语气应该精准的表达心中的意愿, 否则都是届不到的
我在tmux裏用cgdb。但cgdb print foo
不方便。realgud可以和lsp一起用
視窗被切割小了,不習慣
soga
话说你用realgud的时候有没有遇到这种问题:在source buffer里用shortkey command会自动跳到command buffer?
我看到github上好像有这个issue,但是原作者好像没能复现。。也一直没解决
说的有道理。毕竟两个都常用的人少,我说这话时忘了大家都不常用IntelliJ 。
@amosbird 我現在
-
-gsplit-dwarf
,減小*.o
,加快linking,減小執行檔 -
-Wl,--gdb-index
(加快gdb startup),僅ld.gold ld.lld支持,ld.bfd不支持 -
-fuse-ld=lld
加快linking
…給linker貢獻過一些patches的人的心得
# 調試clangIndex準備替換掉libclang
cgdb -ex 'set exec-wrapper env LD_LIBRARY_PATH=/home/maskray/Dev/llvm/release/lib' --args Debug/ccc /tmp/c/a.cc
# 我是這樣調試clang compiler-rt的,sharedlibrary加其他需要的lib
cgdb -x =(printf 'set auto-solib-add off\nstart\nsha stdc\|LLVMCore\|LLVMSupport\|clangDriver') --args ~/Dev/llvm/debug/bin/clang -fsanitize=address -fsanitize=undefined a.o -o a
在cgdb裏看原始碼,常用工作流是:
-
step
跟蹤邏輯 -
up
down
看看上下發生了什麼;如果需要xref,要context switch到Emacs window裏用ccls,不太方便 -
p foo
foo是周圍的隨機識別字,gdb/cgdb裏做這個操作需要鍵入p foo
,如果能用🐭點擊就方便了……
現在還有兩個問題折磨我:
-
https://github.com/realgud/realgud/pull/220#issuecomment-402861226
until
不好用 - gdb command line用雙引號 https://github.com/realgud/realgud/pull/221#issuecomment-402871288
我今天玩了下clangIndex (Clang C++ API,libclang也用到),發現dependent name檢索是有希望的:https://reviews.llvm.org/D49002。不過ccls/cquery目前的一個檔案只在一個translation unit處理的模型,有些情況不一定能滿足
我現在鏈接本地clang+llvm的cmake,但生成的Debug/ccc
DT_RPATH
沒有填上,不能直接cgdb --args Debug/ccc c++ /tmp/c/a.cc
,有點不方便。
cmake -H. -BDebug -G Ninja -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_CXX_FLAGS=-gsplit-dwarf -DCMAKE_EXE_LINKER_FLAGS='-fuse-ld=lld -Wl,--gdb-index' -DCMAKE_EXPORT_COMPILE_COMMANDS=On -DSYSTEM_CLANG=On -DCMAKE_PREFIX_PATH="$HOME/Dev/llvm/release;$HOME/Dev/llvm/release/tools/clang;$HOME/Dev/llvm;$HOME/Dev/llvm/tools/clang" -DCMAKE_INSTALL_RPATH=$HOME/Dev/llvm/release/lib
怎麼熱鍵讀出文件:行号并转到emacs ?
得稍微改一下cgdb,里面执行 tmux session switch 带上 file:line
你是说公司项目还是开源项目? 很多知名开源项目背后有大公司资金支持, emacs这种用户太少, 好像没有什么资金支持, 完全靠志愿者, 发展到现在还是挺不容易的.
没有大公司支持是个好事.
名利场那一套一点都不好玩儿
所以你不知道 FSF 和 GNU 还有 GNU/Emacs 什么关系?
FSF 接受的资助主要用于开发 GNU 项目,Emacs 作为 GNU 项目的一部分,预算是内部分摊的。
该主题在创建5小时后自动关闭。不再允许新的回复。