Does Zero work with multithreaded programs?
A: Yes, Zero supports POSIX threads (pthreads).
Can I use Zero to debug kernel code and device drivers?
A: No. Zero is designed for user-space applications only.
For kernel space, use kgdb.
What architectures are supported?
A: Currently Zero works on the Intel x86 family and the x86_64 (AMD 64) platforms.
Does Zero work with Valgrind?
A: Yes, invoke valgrind with the following command line arguments:
--db-attach --db-command=zero %p
I love this project, it helped my productivity, how can I help back?
A: You may link to this site or
refer it to your friends; or participate in projects like this one: Light Weight Zero User Interface.
How do I disable the graphical user interface?
A: Specify --ui-disable option on the command line when you start Zero.
Another solution is to create a directory under your HOME: mkdir ~/my_plugins
Then copy everything from /usr/local/zero/plugins into my_plugins, but the zgui.so file.
Copy
the /usr/local/bin/zero shell script to your home directory, name it
my-zero, and edit the line that reads export ZERO_PLUGIN_PATH=... to
point to my_plugins. Then run my-zero.
Does Zero work with other languages than C/C++?
A: I have not tested it with other languages. However, the debug information in STABS and DWARF is language-independent.
The only language-dependent part in Zero is the interpreter which can only evaluate C++ expressions.
I have started some preliminary work to support
Walter Bright's D Programming Language, and a D demangler has been
contributed by the D community. However, this work is in an experimental stage.
After installing the rpm. When I run zero I get this message.
/usr/local/bin/zero-bin:
error while loading shared libraries: /usr/local/bin/libzrt.so: cannot
restore segment prot after reloc: Permission denied
A: This is caused by Security Enhanced Linux. Dilligent user Orhun Birsoy has proposed the following solution:
"Since I am using this machine as a development only machine I can
disable selinux without any problems. However I was able to run zero
without disabling selinux after issuing the following commands.
~# chcon -t texrel_shlib_t /usr/local/bin/libzrt.so
~# chcon -t texrel_shlib_t /usr/local/zero/plugin/*.so
~# chcon -t texrel_shlib_t /usr/local/lib/libdwarf.so"
You are mentioning a commercial version of ZeroBugs. What is, or would be different
from the binaries that I can download today for free?
A: Mainly, the free downloadable
versions are not optimized for speed. The free downloads may also contain
experimental features that have not been fully tested.
The debugger is stopping with a cryptic message:
"Thread 14308 received signal 27: Profiling timer expired"
What does "Profiling timer expired" mean?
A: It means that your thread received signal 27 (SIGPROF). Before signals
are delivered to the debuggee, they are sent by the kernel to the
debugger.
You may be running a programming compiled with -g -p, maybe? Or there's a direct call to setitimer somewhere in your program.
At
any rate, to shut off that message, go to Edit, Options, Signals, and
uncheck the box in the Stop column, SIGPROF row. That should instruct
the debugger to deliver the signal to your program without prompting
you. Do not uncheck the "Pass to debuggee" box (what that does is to
completely hide the occurrence of the signal to the debuggee; it is
there for compatibility with other debuggers but generally yields
unpredictable effects).