News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

fatal error LNK1103: debugging information corrupt

Started by vmars316, May 21, 2011, 05:39:57 PM

Previous topic - Next topic

vmars316

Greets,
1) Not sure if this is the right Forum for this:
2) I am trying to compile Iczelion tut20 subclass.asm example.
But i am getting this linking error:
subclass.obj : fatal error LNK1103: debugging information corrupt; recompile module
3) I am also trying to get an expanded listing of masm macros, like  .if  etc., via  .LISTALL in source.
Where will this listing appear? As a separate file in subclass.asm Folder?
Thanks...vmars
.
All things in moderation, except for love and forgiveness...vmars316
.
www.QuickerThanASpark.com

jj2007

MyFile.lst usually appears in the same folder as the source. Make sure you enclose only the interesting parts of your code with e.g.
Quote.listall
   .Repeat
      push MyVar
      mov InnerCt, INNERLOOPS
      .Repeat
      .nolist
Otherwise you get an exciting full listing of windows.inc :bg

As to the corrupt info, try another assembler/linker combination. New versions of ML.exe tend to behave badly with debug options on.

vmars316

[New versions of ML.exe tend to behave badly with debug options on.]
Hmm...
I seem to have masm 9.00.30729.01
from msVisualStudio 2008
So i replaced it with a ml.exe dated 03/29/1999
And all went well.

From the Help [.listall] i got the following statement:

The .LST file must first be enabled with a PWB MASM option or the /Fl command-line option.
So (just guessing) i added /Fl to the compile/link tab,
C:\MASM32\BIN\ml.exe /Fl

and put this in the source:

WndProc proc hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM
.Listall
   .If uMsg == WM_CREATE
.nolist
      Invoke CreateWindowEx, WS_EX_CLIENTEDGE, Addr EditClass, NULL, \
             
and got a 4.8mb listing.

Pls, how do i get that down to just stuff within .listall and .nolist ?

Thanks...vmars
.
All things in moderation, except for love and forgiveness...vmars316
.
www.QuickerThanASpark.com

dedndave

most of it is the windows (etc) include files   :P
turn off the listing for the includes, then turn it back on
        .NOLIST
        INCLUDE \masm32\masm32rt.inc
        .LIST

you can make it even smaller by using .XCREF to disable cross-reference listing
however, that info may be desirable in some cases, such as debugging

vmars316

dendave,

I tried the .xcref,
*.lst is still the same size, 4.88mb
Is the 'settings' line below, correct?
C:\MASM32\BIN\ml.exe /Fl

I find .list in the Help, but no .xcref .
Can you give me an example (maybe 'hello world!')
showing where i should place these commands.

Thanks...vmars
.
All things in moderation, except for love and forgiveness...vmars316
.
www.QuickerThanASpark.com

jj2007

You must put .nolist before the includes, and .listall afterwards

dedndave

Vernon,
try it like this...
        .XCREF
        .NOLIST
        INCLUDE \masm32\masm32rt.inc
        .CREF
        .LIST

Jochen suggested .LISTALL - i guess that is the same as .CREF and .LIST together   :P


here are the assembler switches i use...
ml /c /Fl /coff MyFile.asm

here are a couple examples
i use timers.asm - if you do not have that file,
the first post in the first thread of the laboratory has it
it is MichaelW's timing macros