Wireshark-dev: Re: [Wireshark-dev] Compiling under MSVC 6.0 - simple Q, clear cut A ?

From: "Bryan Miller" <millerb@xxxxxxx>
Date: Tue, 17 Apr 2007 22:45:09 -0600
I read through this thread with keen interest as I am experiencing similar
issues.

I am a UNIX developer (literally) but am currently developing Wireshark on
Windows so there could be operator error involved.  I've been successfully
building using MSVC and nmake for the past couple years and only recently
decided to use MSDEV for debugging.  I get the usual initial pause in
..\gtk\main.c but pressing F5 to continue causes the unrecoverable error -
"Unhandled exception in wireshark.exe (LIBGLIB-2.0.0.DLL) Access violation".

If I run wireshark.exe outside of the debugger it performs perfectly.  Has
anyone seen this before and know the root cause?

I've carefully followed the advice on the wiki and have pointed MSDEV to the
source code and .bsc file.  I've tried both attaching MSDEV to a running
instance of wireshark and also allowing MSDEV to spawn the instance.  Both
experience the same failure.

Cheers
Bryan

-----Original Message-----
From: wireshark-dev-bounces@xxxxxxxxxxxxx
[mailto:wireshark-dev-bounces@xxxxxxxxxxxxx] On Behalf Of Peter Johansson
Sent: Friday, December 01, 2006 5:31 AM
To: Developer support list for Wireshark
Subject: Re: [Wireshark-dev] Compiling under MSVC 6.0 - simple Q, clear cut A
?


An alternative way to do this is to:
1. Start wireshark.exe and msdev separately.
2. In MSDEV 6, choose menu "Build" -> "Start Debug" -> "Attach to process" 3.
>From the list of processes, choose wireshark.exe (most certainly one 
of the topmost items).
4. Load the source file in which you would want to set a breakpoint 
using the menu "File" -> "Open".
5. Set a breakpoint at the desired line in the source code.
6. Wireshark will pause its execution once the breakpoint gets hit.

Note that if you upon closing MSDEV answer yes to the question whether 
the debug session's opt file should be saved or not, then you can open 
MSDEV the next time and just reload the debug workspace from the menu 
"File" -> "Recent workspaces". Once the workspace has been loaded, you 
can start the Wireshark execution (in the debugger from the beginning) 
using for instance "F5", "F10", or "F11".

/ Regards, Peter


Martin Warnes wrote:
> The following works for me when debugging a plugin it should be the 
> same for a built in dissector:
>
> 1. Open wireshark.exe in MSVC and F5 to start debug.
> 2. When it pauses in ..\gtk\main.c press F5 again to continue 
> Wireshark startup. 3. Once you see the main display window open your 
> dissector code in MSVC and insert your break point(s).
> 4. Open capture file used by your dissector and it should halt at the
> required breakpoints (at least it does for me)
>
> Martin
>
> Sleep Less wrote the following on 01/12/2006 11:55:
>   
>> Well not quite - the compiler still disables breakpoint in the 
>> dissector, as it fails to see the (symbolic) connection. Methinks you 
>> need .bsc files for that, which MSVC generates when you compile from 
>> the IDE, but apprently nmake does not.
>> any ideas?
>>
>> */Douglas Pratley <Douglas.pratley@xxxxxxxxxx>/* wrote:
>>
>>     Not tried exactly that myself, but I’d have thought that you could
>>     single step into main.c, pause, then put a breakpoint in
>>     packet-h263.c and then just run. It should then stop on the
>>     breakpoint.
>>
------------------------------------------------------------------------
>>     *From:* wireshark-dev-bounces@xxxxxxxxxxxxx
>>     [mailto:wireshark-dev-bounces@xxxxxxxxxxxxx] *On Behalf Of *Sleep Less
>>     *Sent:* 01 December 2006 11:42
>>     *To:* Developer support list for Wireshark
>>     *Subject:* Re: [Wireshark-dev] Compiling under MSVC 6.0 - simple
>>     Q,clear cut A ?
>>     Thanks. Done all the wiki recommendations. I can now single/step
>>     debug main.c,
>>     but as you can imagine, my interest lies deep in one of the
>>     dissectors - e.g. packet-h263.c etc. How to I get to the situation
>>     I can single step through those?
>>     thanks
>>
>>     */Douglas Pratley <Douglas.pratley@xxxxxxxxxx>/* wrote:
>>
>>         [Apologies if this message appears twice - I am having some
>>         trouble persuading exchange to be consistent about which SMTP
>>         address it uses for outgoing email, and my first try bounced
>>         as a non-menber]
>>         The wiki tips page has a couple of useful sections on
>>         debugging and setting up browse info for MSVC.
>>         http://wiki.wireshark.org/Development/Tips
>>         I’ve also done it by creating a dummy static library project
>>         and using Wireshark as the “program” under the debug settings
>>         (useful for putting a breakpoint in start-up code).
>>         Cheers
>>         Doug
>>
------------------------------------------------------------------------
>>         *From:* wireshark-dev-bounces@xxxxxxxxxxxxx
>>         [mailto:wireshark-dev-bounces@xxxxxxxxxxxxx] *On Behalf Of
>>         *Sleep Less
>>         *Sent:* 01 December 2006 10:36
>>         *To:* Developer support list for Wireshark
>>         *Subject:* Re: [Wireshark-dev] Compiling under MSVC 6.0 -
>>         simple Q,clear cut A ?
>>         Hi,
>>         thanks for the willingness to assist.
>>         I did one thing : created an empty directory
>>         c:\wireshark-win32-libs
>>         and then ran the nmake -f makefile.nmake all
>>         with no further problems whatsoever.
>>         Since my install was a "clean" one (no previous wireshark
>>         builds etc.)
>>         I guess this may happen to others as well.
>>         If I may, one other short Q - the manual does not specify how
>>         I can use the MSVC IDE
>>         to debug wireshark, which was my main reason for building it.
>>         Is there a way to do that?
>>         thanks
>>
>>
>>         */Anders Broman <a.broman@xxxxxxxxx>/* wrote:
>>
>>             Hi,
>>             What version are you trying to build?
>>             What does the line
>>             DOWNLOAD_PREFIX
>>             In the file tools/win32-setup.sh say?
>>             BR
>>             Anders
>>
>>             ________________________________________
>>             Från: wireshark-dev-bounces@xxxxxxxxxxxxx
>>             [mailto:wireshark-dev-bounces@xxxxxxxxxxxxx] För Sleep Less
>>             Skickat: den 1 december 2006 09:43
>>             Till: Developer support list for Wireshark
>>             Ämne: Re: [Wireshark-dev] Compiling under MSVC 6.0 -
>>             simple Q,clear cut A ?
>>
>>             Hi,
>>             I have faithfully followed the Cygwin/packages
>>             installation, done the
>>             distclean and verify_tools stages. At the setup stage I
>>             get an error at the
>>             glib part:
>>             bash tools\win32-setup.sh --appverify cl link nmake bash
>>             bison flex env grep /usr/bin/find perl env python sed
>>             unzip wget
>>             Checking for required applications:
>>             cl: /cygdrive/d/PROGRA~1/MICROS~1/VC98/BIN/cl
>>             link: /cygdrive/d/PROGRA~1/MICROS~1/VC98/BIN/link
>>             nmake: /cygdrive/d/PROGRA~1/MICROS~1/VC98/BIN/nmake
>>             bash: /usr/bin/bash
>>             bison: /usr/bin/bison
>>             flex: /usr/bin/flex
>>             env: /usr/bin/env
>>             grep: /usr/bin/grep
>>             /usr/bin/find: /usr/bin/find
>>             perl: /usr/bin/perl
>>             env: /usr/bin/env
>>             python: /cygdrive/c/ibmtools/python22/python
>>             sed: /usr/bin/sed
>>             unzip: /usr/bin/unzip
>>             wget: /usr/bin/wget
>>             ****** glib-2.6.6.zip ******
>>             No HTTP proxy specified (http_proxy and HTTP_PROXY are empty).
>>             Downloading gtk2.6/glib-2.6.6.zip into , installing into 
>> glib
>>
>>             ERROR: Can't find glib
>>             So while I fully believe it "cleanly" works for many,
>>             obviously there is
>>             something missing in the manual.
>>             Any tips would be much appreciated.
>>             Thanks
>>
>>             Anders Broman wrote:
>>             Hi,
>>             And note that Wireshark can't be built "without the other
>>             tools"
>>             on any system.
>>             BR
>>             Anders
>>
>>             -----Ursprungligt meddelande-----
>>             Från: wireshark-dev-bounces@xxxxxxxxxxxxx
>>             [mailto:wireshark-dev-bounces@xxxxxxxxxxxxx] För Jaap Keuter
>>             Skickat: den 30 november 2006 22:16
>>             Till: Developer support list for Wireshark
>>             Ämne: Re: [Wireshark-dev] Compiling under MSVC 6.0 -
>>             simple Q, clear cut A ?
>>
>>             Hi,
>>
>>             Just faithfully follow the developer guides guidelines on
>>             setting up your
>>             development environment, including cygwin and its tools,
>>             as well gathering
>>             the libraries.
>>
>>             Tried it a couple of times, never failed on me.
>>
>>             Thanx,
>>             Jaap
>>
>>             On Thu, 30 Nov 2006, Sleep Less wrote:
>>
>>             > Hi All,
>>             > from Andre Martin's recent (Nov 2) posting it is not
>>             clear to me if
>>             Wireshark
>>             > can be indeed compiled under MSVC 6.0 in a hassle free
>>             manner?
>>             > The developers doc is really partial, e.g on page 24
>>             section 2.6.2 the
>>             nmake example
>>             > seems to give an example of a failure, not of the correct
>>             usage.
>>             > Also instruction on how to run wireshark on MSVC6
>>             debugger (2.5.3) are
>>             missing.
>>             > So I'd be most appreciative on anyone who has done it can
>>             give a short
>>             description of what it involves.
>>             > Initial system is assumed to be a "clean" MSVC 6.0, no
>>             other tools,
>>             Windows XP SP2.
>>             > thanks,
>>             > Haim
>>             >
>>             >
>>             > ---------------------------------
>>             > Access over 1 million songs - Yahoo! Music Unlimited.
>>
>>             _______________________________________________
>>             Wireshark-dev mailing list
>>             Wireshark-dev@xxxxxxxxxxxxx
>>             http://www.wireshark.org/mailman/listinfo/wireshark-dev
>>
>>             _______________________________________________
>>             Wireshark-dev mailing list
>>             Wireshark-dev@xxxxxxxxxxxxx
>>             http://www.wireshark.org/mailman/listinfo/wireshark-dev
>>
>>
>>             ________________________________________
>>             Everyone is raving about the all-new Yahoo! Mail beta.
>>
>>             _______________________________________________
>>             Wireshark-dev mailing list
>>             Wireshark-dev@xxxxxxxxxxxxx
>>             http://www.wireshark.org/mailman/listinfo/wireshark-dev
>>
>>
------------------------------------------------------------------------
>>         Want to start your own business? Learn how on Yahoo! Small
>>         Business.
>>         
>> <http://us.rd.yahoo.com/evt=41244/*http:/smallbusiness.yahoo.com/r-in
>> dex>
>>
>>
>>
>>         This message should be regarded as confidential. If you have
>>         received this email in error please notify the sender and
>>         destroy it immediately.
>>         Statements of intent shall only become binding when confirmed
>>         in hard copy by an authorised signatory. The contents of this
>>         email may relate to dealings with other companies within the
>>         Detica Group plc group of companies.
>>
>>         Detica Limited is registered in England under No: 1337451.
>>
>>         Registered offices: Surrey Research Park, Guildford, Surrey,
>>         GU2 7YP, England.
>>
>>     

_______________________________________________
Wireshark-dev mailing list
Wireshark-dev@xxxxxxxxxxxxx
http://www.wireshark.org/mailman/listinfo/wireshark-dev