Huge thanks to our Platinum Members Endace and LiveAction,
and our Silver Member Veeam, for supporting the Wireshark Foundation and project.

Wireshark-dev: [Wireshark-dev] First attempts at debugging plugin on Linux... looking for help

From: "Rich Ayres" <richard.ayres@xxxxxxxxx>
Date: Tue, 29 Jan 2008 14:34:40 -0500
I am developing a wireshark plugin and need to start to see things in an IDE.  I've been trying to use Eclipse (on Fedora 8), but I've been stuck for a couple of days.   If anyone has had success doing similar steps, I would sure appreciate pointers on what I may have done incorrectly.  I hope I will be able to return the favor one day...


The problem I have is that debuggers (gdb, Eclipse, DDD) can't seem to find any debug symbols.

This is, in general, what I did...

1. Retrieved a copy of the wireshark source via SVN
2. Worked to figure out the nmake, makefile, makefile.am, etc. relationships in an attempt to try to use Eclipse as the build environment, but, gave that up
3. Ran ./configure
4. Ran make (successfully)
5. Used a combination of agentx, voip, and stat plugins to author a new plugin in a new directory
6. Created a makefile for the plugin
7. Edited top level makefiles to add plugin (following the README.plugins as a guide)
8. Ran make (again and again, to fix all my errors and warnings)
9. Ran wireshark, and I can see my plugin results  :)  
10.  Tried to debug... :(

Here are the symptoms:
Running gdb, using:  libtool --mode=execute gdb wireshark,  I get a whole host of similar error messages as soon as I run, which are something like,

warning: Missing the separate debug info file: /usr/lib/debug/.build-id/ed/6226497b8e4f290578cc3fcefed32d169f7406.debug

warning: Missing the separate debug info file: /usr/lib/debug/.build-id/b8/15f4dcecb6010580bb2ebf9ad8412132353b71.debug

(and there are many of these).   So, gdb doesn't seem too happy.

In Eclipse, I hacked (would like a better approach), a C project to point to the /.libs/wireshark executable.  Using this config, I can open my plugin source file, set a breakpoint, and step through code, *BUT*, I cannot see any symbol information.  The error whenever I highlight a variable is "No symbol XXXX in current context".  And, there are other errors, like "Stopped due to shared library event".

Oh, and I tried to run make install, then point my Eclipse shared library folder to the /usr/local/lib/wireshark directory that seemed to hold a bunch of tasty files, but that didn't seem to work either.


SO.... I think I'm close, but have missed something critical in the initial steps.  To whomever can offer whatever help, I would be most grateful.  It was fun for a while, but now I'm stuck, and frustrated.  

Many thanks in advance,
Rich