2016-01-04 3 views
0

Dans Linux si nous regardons les/proc/auto/cartes:Récupération de la carte mémoire de son propre processus dans 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 

je veux des informations telles que l'adresse et chemin de départ pour QNX. Comment puis-je obtenir cette information? Mon analyse indique qu'il n'y a pas de fichier/proc/self/maps dans Qnx.

+0

Pourriez-vous s'il vous plaît accepter ma réponse si vous le trouvez utile? – Shaibal

Répondre

0

Nous avons le dossier de soi dans QNX aussi!

L'espace adresse est représenté par un fichier binaire appelé "as" dans chaque dossier de/proc./proc/self/as contient l'espace d'adressage du processus en cours.

Le problème est que ce n'est pas humain directement lisible. Vous devez utiliser devctl() pour le lire. Ci-dessous se trouve le lien pour toutes les commandes devctl concernant le décodage de l'espace adresse.

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

Exemple - devctl ("/ proc/auto/comme", DCMD_PROC_TIDSTATUS, & debug_data, sizeof (debug_data)

Cette commande vous donnera le débogage des données du fil dans un _debug_thread_info struct structure.

de même DCMD_PROC_PAGEDATA et DCMD_PROC_MAPINFO peuvent être utilisés pour obtenir la cartographie du segment (sous linux cartes fichier le fait) l'information de l'espace d'adressage d'un processus.

Espérons que cela aide.

1

Essayez d'utiliser ceci:

pidin -p<process> mapinfo