Author Topic: SASM gives "unrecognized debug format" for valid NASM debug format  (Read 8566 times)

Offline paml27

  • Jr. Member
  • *
  • Posts: 37
I'm using SASM to compile a 64-bit NASM exe on Windows 7.  I'm using NASM as the compiler and GoLink as the linker.  My compiler string is:

-Z myfile.err -f Win64 Std_Math_Formulas.asm -l myfile.lst -F cv8 -g -o Win_API_Program.obj

SASM gives me the error message "nasm: fatal: unrecognized debug format `cv8' for output format `win64'.  So I open a command prompt and type nasm -f win64 -y and it tells me:  "valid debug formats for 'win64' output format are cv8 Codeview 8." 

So if NASM tells me cv8 is a valid debug format, why does sasm give me this error?  When I compile it outside of SASM, I don't get that error; instead, I get code errors, but I want to debug them in a source code debugger-IDE, so that's why I want to use SASM. 

Thanks in advance for any help. 


Offline Frank Kotler

  • NASM Developer
  • Hero Member
  • *****
  • Posts: 2667
  • Country: us
Re: SASM gives "unrecognized debug format" for valid NASM debug format
« Reply #1 on: January 19, 2018, 09:19:26 PM »
Hi Pam,

Sounds like a SASM problem to me. Have you tried asking there?

Looking at:
https://github.com/Dman95/SASM/wiki/Help-(English)
to see what SASM does like for a debug format... they don't seem to say. Nasm's only debug format for that output format is "cv8" which is for codeview. I doubt if gdb can do anything with it and SASM doesn't seem to give you a choice of debugger. I did come across this tidbit:
"Also SASM partially supports golink linker (only for building and running, not for debugging)."
which suggests that you can't do what you want to do.

Good luck with it.

Best,
Frank


Offline paml27

  • Jr. Member
  • *
  • Posts: 37
Re: SASM gives "unrecognized debug format" for valid NASM debug format
« Reply #2 on: January 20, 2018, 08:25:34 PM »
Thanks, Frank.  I basically came to the same conclusion.  I wrote to Dmitriy (the guy who wrote SASM) but I haven't heard back.  CV8 is the only format NASM supports for 64-bit debug symbols, but cv8 is ancient and I don't know of any debugger that uses it. 

Meanwhile, I'm debugging manually, which is working fine.