c - 指令类型和数量

标签 c memory count instructions

  1. 我需要找出(动态)(汇编)指令并对我的 C 程序进行计数。我期望的输出类似于以下内容

    mov  200
    
    pop  130
    
    jne  48
    

    我试过了 valgrind --tool=callgrind --cache-sim=yes --dump-instr=yes <my program name>并使用 Kcahcegrind 查看它。我确实找到了指令类型,但没有计数信息。我想过滤输出以丢弃由于系统库等引起的指令。

  2. 我需要找出在我程序的某些特定函数和部分中使用 malloc 分配的地址和内存大小。我做了一些堆分析,但它给出了整个堆的大小。有什么建议吗?

  3. 我想知道我的程序的函数访问了哪些内存位置。换句话说,我需要找出程序的内存访问模式。计算负载有帮助吗?如果是,那么我如何计算负载?

最佳答案

看看 objdump:

http://sourceware.org/binutils/docs/binutils/objdump.html

我将从 objdump -S myprog 开始

关于c - 指令类型和数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15688268/

相关文章:

docker - docker 统计信息中不断增加的 NET I/O 值意味着什么?

c - 将 C 翻译成 Golang。如何分配内存以匹配 C?

count - 杰基尔+液体: number of posts by month

sql - 组合 COUNT 个查询

c - 以位为单位增加大小的有效条件

c - 总线错误和段错误取决于输入的值

c++ - 2个关于C++的初学者问题

c - 三重指针、数组和 malloc

c++ - 为什么内存泄漏只显示三个内存地址?

java - 如何获取字符串数组中元素的长度(出现错误)?