调试

理解状态机执行:不是 “调试”,也是 “调试”

  • ssh:使用 -v 选项检查日志
  • gcc:使用 -v 选项打印各种过程
  • make:使用 -nB 选项查看完整命令历史

调试:不仅是 “调试器”

  • Profiler: perf - “采样” 状态机
  • Trace: strace - 追踪系统调用

将日志文件重定向到vim进行各种操作

1
strace -f g++ a.cc |& vim -

执行 grep 命令进行过滤,可以通过 :! 来运行外部命令并将结果显示在 vim 中。

步骤如下:

  1. vim 中输入:

    1
    :!grep "关键词" 文件名

    或者,你可以直接对 vim 缓冲区的内容使用管道进行过滤:

    1
    :%!grep "关键词"
    • :!grep "关键词":会在当前终端执行 grep,但不影响你在 vim 中的内容。
    • :%!grep "关键词":会将当前文件内容通过管道传递给 grep,然后将过滤结果替换当前文件的内容。
  2. 例如:

    1
    :%!grep "error"

    这会将所有包含 error 的行保留,并替换掉当前缓冲区的内容。

如果包含.h这种,使用转义字符

1
:%!grep "\.h"