首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Linux进程内存分析pmap命令

名称:        pmap - report memory map of a process(查看进程的内存映像信息)pmap命令用于报告进程的内存映射关系,是Linux调试及运维一个很好的工具。 用法        pmap [ -x | -d ] [ -q ] pids...        pmap -V 选项含义        -x   extended       Show the extended format. 显示扩展格式        -d   device         Show the device format.   显示设备格式        -q   quiet          Do not display some header/footer lines. 不显示头尾行        -V   show version   Displays version of program. 显示版本 扩展格式和设备格式域:         Address:  start address of map  映像起始地址         Kbytes:  size of map in kilobytes  映像大小         RSS:  resident set size in kilobytes  驻留集大小         Dirty:  dirty pages (both shared and private) in kilobytes  脏页大小         Mode:  permissions on map 映像权限: r=read, w=write, x=execute, s=shared, p=private (copy on write)           Mapping:  file backing the map , or '[ anon ]' for allocated memory, or '[ stack ]' for the program stack.  映像支持文件,[anon]为已分配内存 [stack]为程序堆栈         Offset:  offset into the file  文件偏移         Device:  device name (major:minor)  设备名 举例: 查看进程1的设备格式 [root@C44 ~]#  pmap -d 1 1:   init [5]                     Address   Kbytes Mode  Offset           Device    Mapping 00934000      88 r-x-- 0000000000000000 008:00005 ld-2.3.4.so 0094a000       4 r---- 0000000000015000 008:00005 ld-2.3.4.so 0094b000       4 rw--- 0000000000016000 008:00005 ld-2.3.4.so 0094e000    1188 r-x-- 0000000000000000 008:00005 libc-2.3.4.so 00a77000       8 r---- 0000000000129000 008:00005 libc-2.3.4.so 00a79000       8 rw--- 000000000012b000 008:00005 libc-2.3.4.so 00a7b000       8 rw--- 0000000000a7b000 000:00000   [ anon ] 00a85000      52 r-x-- 0000000000000000 008:00005 libsepol.so.1 00a92000       4 rw--- 000000000000c000 008:00005 libsepol.so.1 00a93000      32 rw--- 0000000000a93000 000:00000   [ anon ] 00d9d000      52 r-x-- 0000000000000000 008:00005 libselinux.so.1 00daa000       4 rw--- 000000000000d000 008:00005 libselinux.so.1 08048000      28 r-x-- 0000000000000000 008:00005 init 0804f000       4 rw--- 0000000000007000 008:00005 init 084e

01

解决VScode配置远程调试Linux程序的问题

最近在Linux上调程序,但是gdb使用属于入门阶段,主要是没有图形化界面直观。在网上查找了有两个方案可选,一个是通过VisualStudio2019的远程调试功能,因为最近一7直在用VScode,所以没有试,之后有时间了可以试一下。另一个方案就是通过VScode的Remote Development插件(微软官方提供的)进行远程调试。本文介绍下这个方案。 虽然网上也有其他的文章进行介绍,但是都是写的成功的情况,没有写出来过程遇到的问题,而且有些地方不太清楚。所以我觉得自己写一个。另外请大家注意的是,这篇文档介绍的是远程调试,并不介绍远程编译,远程调试VScode也是支持的,但是我目前不需要,后续如果需要再做配置,而且我的项目需要使用cmake及make进行编译,并不是直接用g++编译,所以也没有开始配置。 VScode的远程调试是利用gdbserver的机制进行的。大体原理是通过在Windows上或者其他图形化系统上的VScode,使用Remote Development插件进行ssh连接到远程Linux上,然后通过gdbserver提供的连接进行远程调试。下面开始介绍具体配置方式。

04
领券