2016-01-04 7 views
0

В Linux, если мы посмотрим на/Proc/самостоятельно/карты:Извлечение карты памяти своего собственного процесса в QNX

00400000-004ef000 r-xp 00000000 08:01 12845058       /bin/bash 
006ef000-006f0000 r--p 000ef000 08:01 12845058       /bin/bash 
006f0000-006f9000 rw-p 000f0000 08:01 12845058       /bin/bash 
006f9000-006ff000 rw-p 00000000 00:00 0 
00d5a000-010a2000 rw-p 00000000 00:00 0         [heap] 
7f6fe582a000-7f6fe5835000 r-xp 00000000 08:01 1048595     /lib/x86_64-linux-gnu/libnss_files-2.19.so 
7f6fe5835000-7f6fe5a34000 ---p 0000b000 08:01 1048595     /lib/x86_64-linux-gnu/libnss_files-2.19.so 
7f6fe5a34000-7f6fe5a35000 r--p 0000a000 08:01 1048595     /lib/x86_64-linux-gnu/libnss_files-2.19.so 
7f6fe5a35000-7f6fe5a36000 rw-p 0000b000 08:01 1048595     /lib/x86_64-linux-gnu/libnss_files-2.19.so 

Я хочу такую ​​информацию, как имя пути и начальный адрес для QNX. Как я могу получить эту информацию?

В моем анализе говорится, что в Qnx нет файла/proc/self/maps.

+0

Не могли бы вы, пожалуйста, примите мой ответ, если вы найдете его полезным? – Shaibal

ответ

0

У нас есть собственный файл в QNX тоже !!

Адресное пространство представлено двоичным файлом с именем «как» в каждой папке в/proc./proc/self/as содержит адресное пространство текущего процесса.

Проблема в том, что ее невозможно прочитать человеку напрямую. Вам нужно использовать devctl(), чтобы прочитать его. Ниже приведена ссылка для всех команд devctl, касающихся декодирования адресного пространства.

http://www.qnx.com/developers/docs/6.5.0_sp1/index.jsp?topic=%2Fcom.qnx.doc.neutrino_cookbook%2Fs3_procfs.html

Пример - devctl ("/ Proc/Я/а", DCMD_PROC_TIDSTATUS, & debug_data, SizeOf (debug_data)

Эта команда даст вам отлаживать данные нити на структуру _debug_thread_info структура.

Аналогично DCMD_PROC_PAGEDATA и DCMD_PROC_MAPINFO могут быть использованы, чтобы получить отображение сегмента (в Linux карты файла делает это) информацию адресного пространства процесса.

Надеюсь, что это поможет.

1

Попробуйте использовать это:

pidin -p<process> mapinfo 

 Смежные вопросы

  • Нет связанных вопросов^_^