CompuServe Thread

Debug with Metaware

5 messages in this thread
#125669From: Ken Mascaro, Xing TSep 26, 1994 3:47 PM
I've no previous experience with Metaware or dual-screen debugging. All of my previous experience is with Borland debug. So here I am, with a compiled IPAS with codeview and line numbers turned on, and I'm ready to debug, but when I set "mode mono" and run MDB and load/run "3ds", I get stuck and can't get 3DS to run, or at least it appears that way. Can anybody help me over the hump getting the program to run up to the point of loading my IXP module through the keyframer. I'm able to run my 3DS and my IXP without running debug (MDB), but can't even get 3DS to run under MDB.
#125818From: Jonas Ruikis [ADESK]Sep 27, 1994 10:28 AM
Hi Ken, << I'm able to run my 3DS and my IXP without running debug (MDB), but can't even get 3DS to run under MDB. >> additional environment variables are: set MDBHELP=d:\hc3_1\bin set MDBENV=d:\hc3_1\bin I get things going with the following bat file. mode co80 // clear any changes to the screen…. e: cd \3ds3 // note that i'm in the 3ds directory copy x:\jonasr\axptst_i.axp process cls mode mono // passes control to the mono screen set R386=-priv // (from the ipas2 readme..) mdb -spath X:\JONASR -tandem MDB initializes and prompts for a file to load: "Executable program file name:" 3ds.exe<CR> // you should see assembler on your screen g <CR> //go.. 3ds should initialize ——————————————————————————- ——- Ken what happens here after you've typed the g <carriage return>? are you using the dual monitor approach? // for axp debugging, you can do a modify/object/attributes/setting. // this causes an INT and the debugger regains control eip++<CR> // to step over the int load process\axptst_i.axp nocode // load in your code // if your source code is pointing to the correct path // *and* if you've compiled the *xp.c with the debug option // you'll see your source code now. // Set some breakpoints b ClientDoCustomDialog <CR> b more_functions.. <CR> // you can also use pg-up/pg-dwn in your source and then // click an a line number to set a breeak point. // From here on you can use single step into|over (F7|F8) or // the go command. g <CR> // .. this will execute to your next breakpoint. // // Note. Symbol/Examine // Check out the section in thge MDB Tools manual // regarding Following Pointers (5.14 in the debugger section) // and following the Call Stack.. Keep in touch with your progress..
#125884From: Ken Mascaro, Xing TSep 27, 1994 5:33 PM
You have mentioned a few things I am not yet familiar with, so I'll try them and report back. Q1: By the way, If all of my code runs "prior" to the full frame being displayed, is there any way to debug on a single VGA monitor, or must the mono monitor be used for any and all 3DS debug? Q2: Is the PharLap debugger also useful, or should I stick with the Metaware debugger?
#126003From: Jonas Ruikis [ADESK]Sep 28, 1994 9:43 AM
Hi Ken, << Q1: By the way, If all of my code runs "prior" to the full frame being displayed, is there any way to debug on a single VGA monitor, or must the mono monitor be used for any and all 3DS debug? >> A dual monitor(one machine) or a dual machine setup is the only method I've heard used successfully by the IPAS developers. I like the dual monitor setup myself. << Q2: Is the PharLap debugger also useful, or should I stick with the Metaware debugger? >> I've used both and like Metaware's ability to follow a chain of pointers and I had problems with setting accurate watchpoints on memory locations in Pharlap. However, as I understand it, Gus uses Pharlap's debugger. I may not have given Pharlap's debugger enough of a chance. Note that one requires "-FULLSYM" and the other "-CVSYMBOLS" at compile/link time. jonas[adesk]
#126049From: Ken Mascaro, Xing TSep 28, 1994 12:58 PM
Yes I've already noticed the different link options. Thanks for the input and recommendation.