回答
有linux下的方式,用gdb只得到從核心文件的過程開始時間?
我不這麼認爲。但是,請參閱core(5) & proc(5)並在您的core
文件上運行file(1)命令。
將來,您可能會使用/proc/sys/kernel/core_pattern
(在系統啓動時)。 %t
給出了轉儲時間(不是開始時間)。
我想你有核心轉儲可執行文件的源代碼(否則,檢查覈心在實踐中不是很有用)。
我建議改善您的長期運行程序的來源,將time(2)的結果放入一個全局或靜態變量,在main
開始附近。 您可能還想在您的源代碼中添加時間戳。
這裏有個竅門讓(您的源代碼)時間戳,假設你用make
構建和使用git
版本控制:
要麼只使用在一些使用__DATE__
和__TIME__
C或C++文件,或者更可能的是附加的生成的包含日期和文件的C文件目前git commit
登錄。如果您使用make
隨時都在添加一些規則像
_timestamp.c: Makefile
@date +'const char my_timestamp[]="%c";' > _timestamp.tmp
@(echo -n 'const char my_lastgitcommit[]="' ; \
git log --format=oneline --abbrev=12 --abbrev-commit -q \
| head -1 | tr -d '\n\r\f\"\\\\' ; \
echo '";') >> _timestamp.tmp
@(echo -n 'const char my_lastgittag[]="'; \
(git describe --abbrev=0 --all || echo '*notag*') | \
tr -d '\n\r\f\"\\\\'; echo '";') >> _timestamp.tmp
@mv _timestamp.tmp _timestamp.c
您Makefile
(並在規則建立你的可執行文件,而且還_timestamp.o
鏈接,並在其配方中添加$(RM) _timestamp.c
)。
我建議,對於長時間運行的程序,如服務器(或批量數字代碼運行天),用在他們裏面syslog(3)設施。一些初始syslog
可能會顯示my_timestamp
,my_lastgitcommit
,my_lastgittag
,如上面的_timestamp.c
中所生成的。
謝謝,我正在搜索互聯網,也發現它不能只從核心文件完成。我會保持這個開放一段時間,看看別人是否知道如何做到這一點,如果沒有答案是增加,那麼我會接受你的答案 – Jan
- 1. 獲取TypeLoadException開始ASP.Net核心應用
- 2. 獲取核心文件
- 3. 在C#中獲取核心時間#
- 4. 從textview獲取TimePicker開始時間
- 5. 核心數據應用程序在開始時崩潰
- 6. 從開始時間和持續時間獲取結束時間
- 7. 獲取核心::程序與核心中止
- 8. 從核心數據和關係開始
- 9. 從1.3開始添加Java核心?
- 10. ASP.Net核心 - 從中間件
- 11. 如何獲取ASP.NET應用程序的最後開始時間?
- 12. 如何從核心轉儲獲取系統時間?
- 13. 從Node.js啓動當前進程開始獲取時間
- 14. 從開始和結束時間的時間序列獲取數據
- 15. 獲取日期開始的時間戳
- 16. 無法從核心數據獲取的數據文件
- 17. ASP.net核心:如何從服務中獲取文件數據?
- 18. 如何從核心文件獲取共享對象構建ID?
- 19. 如何從核心文件獲取有關崩潰的信息?
- 20. 從核心數據中獲取記錄時應用程序崩潰
- 21. 當試圖從核心數據中獲取數據時,應用程序崩潰
- 22. 獲取文件從程序文件
- 23. 如何從數據庫獲取時間後開始倒計時?
- 24. 從容器應用程序和擴展程序中獲取核心數據
- 25. 無法讀取web.config文件Asp.net核心Web應用程序
- 26. 如何在.Net核心應用程序中讀取web.config文件
- 27. 開始時應用程序崩潰 - 如何獲取崩潰轉儲文件?
- 28. 從.net核心庫獲取存儲庫
- 29. 從核心數據中獲取主鍵
- 30. 從fiddler核心獲取圖片
長期運行的程序是什麼?你有它的源代碼嗎? –
是的,我有它的源代碼。我將添加時間戳以開始未來。然而它不會幫助我使用當前的核心文件。 – Jan