Core-Dump

按信號過濾數百個核心轉儲

  • August 5, 2019

如果我在一個目錄中有數百個核心轉儲,並且想將其過濾為僅由特定信號生成的核心轉儲,而不必一次手動打開 GDB 中的每個核心轉儲,有沒有辦法做到這一點?

GDB 確實允許您通過 -ex 標誌傳遞命令,但 GDB 的輸出不會進入控制台,所以我不能只在所有文件上執行它並 grep 結果。

部分答案:

我注意到您正在使用條件子句,因此如果尚未生成核心轉儲,最簡單的方法是在生成時將信號包含在名稱中。詳情請參閱man 5 core

如果您已經擁有它們,請查看核心格式的詳細資訊(參見例如此處)。我假設信號編號在各種siginfo_t註釋條目中(但沒有驗證這一點),所以以任何對你來說足夠快的方式提取它們(如果需要,自定義 C 程序),並過濾你想要的信號。

引用自:https://unix.stackexchange.com/questions/534004