两个是都要的,但调试器只用于常规场合,主要优势是方便,能做的事情上限是不如logger的,只能算是logger的子集。
比如我曾经遇到个bug开着调试器跑就绝对不会产生,只有不开才会产生。
而且这个bug并不会导致崩溃,不会产生coredump。
再比如我曾经有个bug需要连续运行7天多之后才会偶尔产生,同样也不会coredump,并且是分布式环境attach上去就各种超时。这些都只能靠logger的,调试器压根没用。
至于逆向破解不算是调试器的正经用途了。
【 在 AutumnNight 的大作中提到: 】
: 这我知道,内核开发大量依赖printk
: 调试器也能做print干不了的事,比如直接附加到正在运行的进程上,也可以分析程序崩溃生成的coredump,还能逆向破解等等
: 对程序员来说这两门功课都不能偏废
: ...................
--
修改:lvsoft FROM 180.111.48.*
FROM 180.111.48.*