IBM®
Skip to main content
    United States change      Terms of use
 
 
Select a scope:    
     Home      Products      Services & industry solutions      Support & downloads      My account     
alphaWorks  >  Systems management  >  

IBM Binary Prober

A tool for instrumenting binary executable files with user-supplied instrumentation code.


Date Posted: November 15, 2007
Overview Requirements DownloadFAQsForum Reviews

1. After installation, I run bprober (or bprober2focus) but the program is not found. What should I do?
2. I'm working on Linux® on POWER® and I received a message that libbproberinst32.so (or libfdprinst64.so) is not found. What should I do?
3. I'm working on AIX® and I received a message that libbproberinst.a is not found. What should I do?
4. IBM® Binary Prober fails because the input program is "stripped." What does this mean?
5. When I executed the instrumented binary using -ui, I received a message that my shared library is not found.
6. Can I instrument a program that was already processed by a post-link tool (such as FDPR-Pro or IBM Binary Prober itself)?
7. I'm instrumenting using -ui. IBM Binary Prober exits with an error message saying that it cannot find my requested function for instrumentation using the INSTR_PROC directive.
8. I'm writing a user stub function in C++, but, when I execute the instrumented program, I get a loader error saying that my function was not found.
9. When I run bprober2focus I get an error message that Map_Dir.pm cannot be found.


1. After installation, I run bprober (or bprober2focus) but the program is not found. What should I do?

Follow the instructions in README.txt (see FAQ No. 2) and make sure that /opt/bin is in your command path.
Back to top Back to top

2. I'm working on Linux® on POWER® and I received a message that libbproberinst32.so (or libfdprinst64.so) is not found. What should I do?

These are the instrumentation shared libraries, provided in the installation. As the README.txt file says, you must set the environment variable LD_LIBRARY_PATH to the directory containing them.
Back to top Back to top

3. I'm working on AIX® and I received a message that libbproberinst.a is not found. What should I do?

This is the instrumentation shared libraries, provided in the installation. As the README.txt file says, you must set the environment variable LIBPATH to the directory containing it.
Back to top Back to top

4. IBM® Binary Prober fails because the input program is "stripped." What does this mean?

IBM Binary Prober requires that the input contain relocation information. On AIX, relocation information is preserved by default, so avoid using the -strip linker option. On Linux, use the --emit-relocs (or -q) linker option to instruct the linker to preserve relocation information. To pass this option from the compiler to the linker, use the -Wl,-q option.
Back to top Back to top

5. When I executed the instrumented binary using -ui, I received a message that my shared library is not found.

This problem is similar to those in No. 2 and No. 3. Check the appropriate library path on your system.
Back to top Back to top

6. Can I instrument a program that was already processed by a post-link tool (such as FDPR-Pro or IBM Binary Prober itself)?

Currently, this feature is not supported.
Back to top Back to top

7. I'm instrumenting using -ui. IBM Binary Prober exits with an error message saying that it cannot find my requested function for instrumentation using the INSTR_PROC directive.

In some cases where there are multiple names for a function (for example, in FORTRAN the function main may also get the name of the file containing it). Use another symbol located at the same address to identify the function for instrumentation. In addition, the -infp option can be used to ignore this error and continue IBM Binary Prober processing without instrumenting the function.
Back to top Back to top

8. I'm writing a user stub function in C++, but, when I execute the instrumented program, I get a loader error saying that my function was not found.

The C++ compiler mangles function names even for regular functions (that is, not methods in class). Therefore, you cannot use the name as it is in the source. To fix this problem, either check what the actual name of the function is or use extern "C" in the function definition so that the function name will not be mangled.
Back to top Back to top

9. When I run bprober2focus I get an error message that Map_Dir.pm cannot be found.

The Map_Dir.mp is part of the IBM Binary Prober installation. Ensure that the Perl library path (for example, PERL5LIB) is set to include /opt/lib.


Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both.
IBM, POWER, and AIX are trademarks of IBM Corporation in the United States, other countries, or both.
Other company, product, or service names may be trademarks or service marks of others.

Back to top Back to top
Download now Download now

Related technologies

For platform(s):
Multi-Platform

For topics:
AIX, analysis, linux, monitoring, optimization, performance, Power Architecture, testing


 

    About IBM Privacy Contact