Nathan Jennings wrote:
Trying to start a capture gets me the generic Windows error dialog where
I can click "Debug" and it takes me into the VS debugger and drops me
into "dbghook.c" with the following in the output window:
Microsoft Visual Studio C Runtime Library has detected a fatal error in
wireshark.exe.
The stack frame seems to be in "msvcr90.dll".
Right after the debug hook call, if I step through it, the next call is
to a Watson handler and then TerminateProcess. :-(
Just curious if anyone was looking at this or had put any time into it.
I have a feeling this is a large "can of worms" (cross CRT-version calls?).
I know... I should probably just install VS 2005EE. ;-)
According to
http://kobyk.wordpress.com/2007/07/20/dynamically-linking-with-msvcrtdll-using-visual-c-2005/
it's possible to use newer versions of Visual C++ to link against the "classic"
msvcrt.dll instead of msvcr[789]?.dll. This might let us get rid of some of the
complexity in the current Windows build environment and let us use a newer
compiler for the official builds.
_______________________________________________
Hmm. The article seems to imply some other complexity as the debug CRT
isn't available so you have to use the one for your compiler toolchain
when debugging. In addition, AFAIK, our CRT problems come from using
compiled binaries from other projects (adns, etc.) that *currently* use
the VS 6 CRT but may switch at any time. I think we'd still have to
ensure all components we use are running with the same CRT thus the
hassles with having to compile them with the CRT of the developers
toolchain.