我想拍一個在mac上操作的進程內存快照。我不知道該怎麼做。mac上進程的內存快照?
我有我的IDA-PRO for mac。它可以被使用嗎?怎麼樣?
任何人都可以建議我一種方法來做到這一點? (一些文檔或示例)。 可能來自uni的一些技術可以使用,但我也沒有意識到這一點。
我不想殺死進程,因爲我想看執行指令/命令後發生了什麼變化。
我想拍一個在mac上操作的進程內存快照。我不知道該怎麼做。mac上進程的內存快照?
我有我的IDA-PRO for mac。它可以被使用嗎?怎麼樣?
任何人都可以建議我一種方法來做到這一點? (一些文檔或示例)。 可能來自uni的一些技術可以使用,但我也沒有意識到這一點。
我不想殺死進程,因爲我想看執行指令/命令後發生了什麼變化。
您可以發送信號到正在運行的進程以將核心轉儲到文件中,該文件可以在以後用於gdb進行事後分析。
kill -ABRT <process-id>
看來你必須配置你的系統來啓用核心轉儲。詳情請參閱http://developer.apple.com/library/mac/#technotes/tn2124/_index.html。
UPDATE:
好了,以上環節引入第三方實施gcore
,一個命令行工具,使運行進程的核心轉儲:
http://www.osxbook.com/book/bonus/chapter8/core/
或許你只是要搶源和嘗試:
http://www.osxbook.com/book/bonus/chapter8/core/download/gcore-1.3.tar.gz
ŧ Ø使一個FAT二進制與PPC/I386/x86_64的使用,只需要修改以下行從Makefile中:
gcore: gcore.c
gcc -O2 -arch ppc -arch i386 -Wall -o [email protected] $<
爲:
gcore: gcore.c
gcc -O2 -arch ppc -arch i386 -arch x86_64 -Wall -o [email protected] $<
@ SHR的答案是你的要求之一(非常有用)解釋。我認爲'快照'意味着'隨着時間的推移運行內存使用的視圖'。 1,其他,兩者還是另一個? ;-) 祝你好運。 – shellter
@shellter:快照意味着內存的運行視圖。我不想殺死這個進程,因爲我想知道在執行完指令/命令後會發生什麼變化。 – MacGeek