摘自:
$ sudo gdb -p 1......
(gdb)
info
process
1 start addr end addr size offset objfile
0x400000
0x401000
0x1000
0x0 /usr/bin/runit
0x401000
0x480000
0x7f000
0x1000 /usr/bin/runit
0x480000
0x4aa000
0x2a000
0x80000 /usr/bin/runit
0x4ab000
0x4ae000
0x3000
0xaa000 /usr/bin/runit
0x4ae000
0x4b0000
0x2000
0x00x62d000
0x650000
0x23000
0x0[heap]
0x7ffe5e3f3000
0x7ffe5e414000
0x21000
0x0[stack]
0x7ffe5e4a4000
0x7ffe5e4a7000
0x3000
0x0[vvar]
0x7ffe5e4a7000
0x7ffe5e4a8000
0x1000
0x0 [vdso]
另外在linux
系統上,也可以使用pmap
命令:
$ sudo pmap -x 11: runit
000000000040000044
0 r----runit
0000000000401000
508440
0 r-x--runit
0000000000480000
168124
0 r----runit
00000000004ab000
1212
12 rw---runit
00000000004ae000 88
8 rw---[ anon ]
000000000062d000
1408
8 rw---[ anon ]
00007ffe5e3f3000
13212
12 rw---[ stack ]
00007ffe5e4a4000 120
0 r----[ anon ]
00007ffe5e4a7000 44
0 r-x--[ anon ]
---------------- ------- ------- -------total kb
988612
40
通過檢視程序的記憶體分布,可以了解哪些位址是有效的,可寫的;這對於除錯有一定幫助。
Unix Linux程序在記憶體中的布局
對於linux作業系統之上的程式而言,其執行的程序所使用的記憶體位址都是虛擬位址,是mmu經過對映後的位址,我們這裡所談及的記憶體也是虛擬記憶體,而不是物理記憶體。我們將編寫好的程式經過gcc編譯得到乙個可執行的檔案,然後將其執行起來,通過檢視程序的命令得到程序id ps aux 在得到程序id之後...
在UNIX Linux下檢視某個程序的詳細引數
如果要在unix linux下檢視某個程序的詳細引數,可以用命令 ps axuww grep 但需要注意的是,在solaris下,存在兩個版本的ps 一是 usr bin ps 一是 usr bin ps。只有 usr bin ps可以用於上述命令。usr ucb ps 是從bsd unix中繼承而...
Unix Linux程序管理
複習一下,免得忘記。顯示程序屬性 ps 命令 該命令是最基本同時也是非常強大的程序檢視命令,用於報告程序標識 使用者 cpu 時間消耗以及其他屬性。利用它可以確定有哪些程序正在執行及執行的狀態 程序是否結束 程序有沒有僵死 哪些程序占用了過多的資源等。ps 命令可以監控後台程序的工作情況,因為後台程...