need help with visual studio

"Mark Hahn" <[email protected]> Sun, 9 May 2004 16:32:56 -0700
Newsgroups gmane.comp.lang.prothon.devel
Message-ID <[email protected]>
I have a problem with my use of Visual Studio Profession 2003.  I am hoping
someone might have a word of advice for me.  Maybe a better list to send
this to?

I'm using the Apache Portable Runtime, APR, and it redefines a bunch of
symbols that are in LIBCMTD.lib, a basic C runtime lib from visual studio.
I have to specifically tell VS to ignore LIBCMTD.lib or I get hard linker
errors saying that the symbols are defined more than once.  So this is my
first question:  why can't I somehow tell the linker which lib to use when I
have multiple definitions instead of having to disable a library completely?

Now I am using assert statements and it turns out that the CrtDbgReport
function is in LIBCMTD.lib so when I get an assertion error it just dumps
out with no report.  This makes debugging a bit tough.  It may be printing
something on the console, but I have no way to tell.  This brings up my next
problem.

Visual Studio has dropped the old ability to have the console appear in the
IDE itself.  I really miss this.  Now you have a seperate pop-up console
window.  The worst part is this pop-up window dissapears the instant the app
closes or crashes and leaves no way to see any left-over messages.

So this is my last question.  How can I view my console after a crash?  I've
got break statements everywhere interesting including the end of main, but I
can't put break statements on asserts because there is no way to tell the
break to only happen on an assertion failure.

So I have a situation where an assertion makes my app dissapear, my output
window says "exit code 3" and I have no idea which of my 50 assertions
triggered it.

Can someone please give me a clue how to make Visual Studio do something
remotely useful here?

I'll temporarily replace my asserts with homemade assert macros but this is
a crummy solution and my Linux co-worker who shares this code will give me
win32 crap once more :-)