WEB开发网
开发学院操作系统Linux/Unix 使用 ProbeVue 调试 C++ 应用程序 阅读

使用 ProbeVue 调试 C++ 应用程序

 2010-05-04 00:00:00 来源:WEB开发网   
核心提示: Vue 脚本语法探查 C++ 函数使用以下命令探查 C++ 函数:带参数的非类函数@@uftxlc++:PID:*:"Func(arg1_type,arg2_type,..,argN_type)":entry不带参数的非类函数@@uftxlc++:PID:*:"Fu

Vue 脚本语法

探查 C++ 函数

使用以下命令探查 C++ 函数:

带参数的非类函数

 @@uftxlc++:PID:*:"Func(arg1_type, arg2_type,..,argN_type)":entry

不带参数的非类函数

@@uftxlc++:PID:*:"Func":entry

带参数的类函数

@@uftxlc++:PID:*:"Class::Func(arg1_type, arg2_type,..,argN_type)":entry

不带参数的类函数

@@uftxlc++:PID:*:"Class::Func":entry

使用模板返回类型或参数类型的函数

@@uftxlc++:PID:*:"Class::Func<type1,..,typeN>(arg1_type,..,argN_type)":entry

模板函数总是用完全参数化的类型指定的。尖括号为由 “T” 参数类型表示的泛型指定具体类型。

探查 C++ 库例程

可以使用 @@uft(而不是 @@uftxlc++)探查 C++ 库例程。下面说明具体做法。

替代 @@uftxlc++ 的语法

一种替代 @@uftxlc++ 的语法是 @@uft。如果可执行文件是未精简的,就可以使用这种语法。按以下方式使用它:

对未精简的可执行文件运行 dump -tv 获取其中的函数,运行 dump -Tv 获取库例程。

查看 CPP 部分,选择您感兴趣的函数。清单 1 给出一个示例。

清单 1. 获取函数

----------------------------------------------------------------- 
          Case 1 : C++ executable functions 
----------------------------------------------------------------- 
# dump -tv ./a.out 
[Index] m    Value    Scn  Aux Sclass      Type   Name 
[110]  m  0x0000008f   debug   3  FILE    C++:COM   .file 
[113]  a0                  IBM XL C/C++ Enterprise Edition for AIX 
[149]  m  0x10000660   .text   1  weak         .hello__1AFv 
 
Note : You can probe functions which have 
     4th field "Scn" = ".text" 
            and 
  6th field "Sclass"="extern" Or "unamex" Or "weak" 
----------------------------------------------------------------- 
         Case 2 : C++ library functions 
----------------------------------------------------------------- 
# dump -Tv ./a.out 
./a.out: 
            ***Loader Section*** 
            ***Loader Symbol Table Information*** 
[Index]   Value   Scn   IMEX  Sclass  Type      IMPid Name 
[2]   0x00000000  undef   IMP   DS EXTref  libc.a(shr.o) atexit 
 
Note : You can probe functions which have 
     4th field "IMEX" = "IMP" 
          and 
     5th field "Sclass" = "DS"

上一页  1 2 3 4 5 6 7  下一页

Tags:使用 ProbeVue 调试

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接