April 26, 2024, 03:32:37 AM

News:

IonicWind Snippit Manager 2.xx Released!  Install it on a memory stick and take it with you!  With or without IWBasic!


debugger question

Started by John S, March 10, 2007, 07:40:29 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

John S

The debugger is a handy tool, but only know the smallest amount of how to you it.

How does one:
    1.  List/watch variables in the debugger

    2.  Besides #Ifdef/#enddef, #break and OutputDebugStringA(), what other compiler commands are there?  How can the other commands be used?

John Siino, Advanced Engineering Services and Software

Parker

1. I'm not familiar with the debugger, but I think you just switch to the variables tab.

2. List of commands starting with a '#':
#undeclare <<id>> - removes a declare from the symbol table
#typedef <<id>> <<type>> - defines a type alias
#use <<string>> - adds a library reference
#autodefine "on"/"off" - turns on/off automatic definition of variables
#option <<string>> - turns on specific options in the compiler (currently you can only specify "float" or "double", changes whether decimal numbers default to the float type or double type)
#break - creates a debugger breakpoint
#asm <<lines...>> #endasm - inserts asm code directly into the output
#emit <<line>> - inserts one line of asm into the output
#ifdef <<id>> - begins a conditional block if <<id>> is defined
#ifndef <<id>> - begins a conditional block if <<id>> is not defined
#else - else for #ifdef/#ifndef conditional blocks
#define <<id>> (<<expression>>) - defines a preprocessor variable. If you omit <<expression>>, it is just simply "defined", otherwise it can be used as a constant in the source file.
#include <<string>> - includes another file (please don't use this on source files, only includes)

The OutputDebugString function is just a normal function. It is inside the debugger DLL though, which is why it makes things show up in the IDE.

John S

thanks Parker,
I'm already using the #IFDEF, #ENDIF, #INCLUDE & #DEFINE
I may try some of these other #commands.
John Siino, Advanced Engineering Services and Software

Parker

Just for your information:
#break
is the same thing as
#emit int 3

And I think you need a breakpoint to be able to watch variables. Again though, I'm not very familiar with this so I could be wrong.

John S

thanks Parker,
I'm post a couple programming questions I have regarding Aurora in a different section.  Feel free to answer them.
John Siino, Advanced Engineering Services and Software