Hallo,
folgendes Problem:
Mein Programm verwendet einen Stack auf dem sich Rechenobjekte befinden. Diese Rechenobjekt sind entweder nur eine Zahl oder ein "Objekt" - eine sogenannte ObjektReferenz - oder eine Referenz auf eine Adresse im Heap.
Ausserdem verfügt mein Programm über einen Debugger, der es mir erlaubt Rechenobjektedie, die auf dem Stack liegen zu inspizieren. Dazu werden zunächst alle Rechenobjekte auf dem Stack ausgegeben. Falls es sich um eine ObjektReferenz(Pointer) handelt, wird deren Adresse ausgegeben.
Jetzt hat man die Möglichkeit die ObjektReferenzen zu inspizieren indem man die Adresse der ...OReferenz eingibt. Anschliessend wird deren Wert ausgegeben.
Unter "object reference? sieht man die bereits transformierte Adresse ( mit strtol nach long int umgewandelt und auf int gecastet)
Wie kann ich einen Pointer auf diese Adresse zeigen lassen um an den darin enthaltenen Wert zu bekommen?
Vielen Dank
folgendes Problem:
Mein Programm verwendet einen Stack auf dem sich Rechenobjekte befinden. Diese Rechenobjekt sind entweder nur eine Zahl oder ein "Objekt" - eine sogenannte ObjektReferenz - oder eine Referenz auf eine Adresse im Heap.
Ausserdem verfügt mein Programm über einen Debugger, der es mir erlaubt Rechenobjektedie, die auf dem Stack liegen zu inspizieren. Dazu werden zunächst alle Rechenobjekte auf dem Stack ausgegeben. Falls es sich um eine ObjektReferenz(Pointer) handelt, wird deren Adresse ausgegeben.
Jetzt hat man die Möglichkeit die ObjektReferenzen zu inspizieren indem man die Adresse der ...OReferenz eingibt. Anschliessend wird deren Wert ausgegeben.
sp ---> 0007: (xxxxxx) xxxxxx
fp ---> 0006: (objref) 0x82f0008 (objref) 137297928
0005: (number) 2
0004: (number) 19
0003: (objref) (nil) (objref) 0
0002: (objref) (nil) (objref) 0
0001: (number) 0
0000: (number) 1
--- bottom of stack ---
0005: popr
DEBUG: (i)nspect stack, (l)ist, (s)tep, (r)un, (q)uit? i
DEBUG, inspect: (s)tack, (o)bject? o
object reference? 0x82f0008
137297928
fp ---> 0006: (objref) 0x82f0008 (objref) 137297928
0005: (number) 2
0004: (number) 19
0003: (objref) (nil) (objref) 0
0002: (objref) (nil) (objref) 0
0001: (number) 0
0000: (number) 1
--- bottom of stack ---
0005: popr
DEBUG: (i)nspect stack, (l)ist, (s)tep, (r)un, (q)uit? i
DEBUG, inspect: (s)tack, (o)bject? o
object reference? 0x82f0008
137297928
Wie kann ich einen Pointer auf diese Adresse zeigen lassen um an den darin enthaltenen Wert zu bekommen?
Vielen Dank
Comment