Variablen zur Laufzeit via Debugger ändern

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

UNZ

Betreff: Variablen zur Laufzeit via Debugger ändern

BeitragFr, Mai 24, 2013 15:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,
ist es möglich Variablen zur Laufzeit via BMax Debugger zu ändern?
Soweit ich weiß wird vom Debugger doch die Adresse ausgegeben wo eine Variable liegt.
Eine IDE könnte diese Information doch theoretisch nutzen, um den Wert im Speicher zu ändern. Danach könnte man das Prog. weiterlaufen lassen.

Mein befürchtung ist aber, dass die IDE nicht auf den Speicher zugreifen darf, weil er ja zu einem anderen Prozess gehört. Müsste also einen MAV geben.
Von Haus aus kann der BMax Debugger sowas auch nicht, oder?
Das muss besser als perfekt!

count-doku

BeitragFr, Mai 24, 2013 18:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Keine Ahnung ob es mit der IDE geht, allerdings kannst du doch mit einem Programm wie Artmoney wenn du die Adresse hast auch den Wert verändern .

lg,
count-doku

UNZ

BeitragFr, Mai 24, 2013 20:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab gerade ein wenig rumgespielt. Nur die Pointer zu Typeinstanzen werden als Speicheradresse angezeigt. Primitive Datentypen und Strings erscheinen gleich dereferenziert. Dass heißt man nicht die Speicheradresse manipulieren.
Das muss besser als perfekt!

Thunder

BeitragFr, Mai 24, 2013 22:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Das Vorhaben, die Speicheradresse von primitiven Datentypen zu ändern, ist eher zum Scheitern verurteilt Wink also zur Laufzeit. Aber anzeigen kannst du sie allemal, probier Mal VarPtr.
Dann kannst du den Wert über einen Zeiger manipulieren:
BlitzMax: [AUSKLAPPEN]
Local x:Int = 50
Local pt:Int Ptr = Varptr x
pt[0] = 42
Print x


oder eben wie count-doku sagte, über ein anderes Programm.
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group