标志 GCC -fstack-protector 标志允许使用堆栈金丝雀进行堆栈溢出保护。近年来,默认情况下此标志的使用更为突出。
如果使用 -fstack-protector 编译一个包,并且我们在程序中溢出了一个缓冲区,我们很可能会得到一个错误,例如:
*** buffer overflow detected ***: /xxx/xxx terminated
Run Code Online (Sandbox Code Playgroud)
但是,“谁”负责这些错误消息?这些消息在哪里记录?syslog 守护进程会选择这些消息吗?
最近,我在研究诸如strace
. 例如,这篇博文使用了 dd 给出的默认指标。
我想自己做一些测量,但使用其他程序。是否有测量任意程序执行速度的工具?