从调试信息中检索变量类型

时间:2012-04-24 12:22:24

标签: arrays debugging objdump dwarf

考虑一下:

int x[] = {1, 2, 3};

int main(){
    return 0;
}

如果我们对数据部分进行objdump,我们将得到变量x,其起始地址和大小为(4 * 3)字节。有没有简单的方法来检索x是一个数组和什么类型的信息?

我知道我们可以使用dwarfdump -i a.out执行此操作,然后解析结果以实现相同的目标,但是有什么比这更容易的了。我只需要检查它是否是一个数组和什么类型?

此致

的Pankaj

1 个答案:

答案 0 :(得分:0)

您可以使用elfutils中的DWARF读取库来解析DWARF,找到变量,然后解码其类型。这不是一件容易的事,但是图书馆确实有所帮助。