Mail Archives: djgpp-workers/1996/06/13/07:07:16
Because I want to integrate GDB in an other program (RHIDE), I needed
the ability of GDB to restart the debugged program, without
restarting GDB. Now I found (probably not the best) a solution
for this. I will include here not the diffs, because the file
'go32target.c' has many non 7-bit characters, but some facts and
questions.
1) I modified the the file 'v2load.c' in the way, that I can access
the variables, which hold the allocated selectors and DOS
memory from outside the function.
2) I wrote a function (called 'v2unloadimage'), which frees the
selectors and DOS memory, which were allocated by 'v2loadimage'.
3) In the 'go32target.c' file for GDB I changed some minor things
to allow reloading the image after a kill.
Now the problems:
4) The main problem with unloading an image is in free the memory
it used. The only solution I found for doing this is calling
the function '_exit' of the image, which clears all the memory
it used. Question: Can I assume, that every DJGPP V2 program
has this function to do the correct cleanups?
5) What is, when I want to debug a program with no debug information?
6) What is, when the debugged program hooks some interrupts?
5) Has anybody an other ideas to solve the problems under 4) in a
different way?
Robert
*****************************************************************
* Robert Hoehne, Fakultaet fuer Mathematik, TU-Chemnitz-Zwickau *
* Post: Am Berg 3, D-09573 Dittmannsdorf *
* e-Mail: Robert DOT Hoehne AT Mathematik DOT TU-Chemnitz DOT DE *
* WWW: http://www.tu-chemnitz.de/~rho *
*****************************************************************
- Raw text -