Hãy nói rằng tôi có một chương trình như thế nàyLàm thế nào để chuyển đổi một địa chỉ chức năng để một biểu tượng
// print-addresses.cpp
#include <stdio.h>
void foo() { }
void bar() { }
void moo() { }
int main(int argc, const char** argv) {
printf("%p\n", foo);
printf("%p\n", bar);
printf("%p\n", moo);
return 0;
}
It in một số con số như
013510F0
013510A0
01351109
Làm thế nào để chuyển đổi những con số trở thành những biểu tượng đúng ? Hiệu quả Tôi muốn để có thể làm được điều này
print-addresses > address.txt
addresses-to-symbols < address.txt
Và có nó in
foo
bar
moo
Tôi biết điều này có cái gì để làm với các Debug Interface Access SDK nhưng nó không hoàn toàn rõ ràng với tôi như thế nào tôi đi từ một địa chỉ cho một biểu tượng.
như xa như tôi có thể nói không ai trong số những giải pháp thực sự trả lời câu hỏi. Tôi tình cờ biết rằng dữ liệu trong dumpbin là không đủ. Câu trả lời đầu tiên của bạn yêu cầu phải được chạy trong chương trình gốc. Câu trả lời ở giữa có thể hiệu quả nhưng không rõ. – gman
@gman: Tôi xin lỗi, bạn có thể cho tôi biết điều gì không rõ ràng về câu trả lời giữa không? Câu trả lời đầu tiên * làm * hoạt động từ bên ngoài chương trình, bạn chỉ cần tạo một tệp minidump và tải nó. –