Debuggen einer Entity zur Laufzeit

Manchmal ist es wünschenwert, den Status einer bestimmten Entity zur Laufzeit zu überprüfen, ohne eine aufwendige Debugger-Session zu starten. Hierzu dient die Tastenkombination [Shift-F11].

Beim Druck auf [Shift-F11] wird das Spiel eingefroren, und ein Mauspfeil erscheint auf dem Bildschirm. Wird jetzt eine Entity angeklickt, so wird der watched Pointer auf diese gesetzt. Dadurch erscheint die Statusanzeige für die gewählte Entity. Ein weiterer Druck auf [Shift-F11] nimmt das Spiel wieder auf. Allerdings bleibt die Statusanzeige erhalten und wird permanent mit den Wert der ausgewählten Entity aktualisiert. Haben Sie genug von der Statusanzeige, klicken Sie auf eine leere Position im eingefrorenen Zustand.

Beispiel:

Die [Shift-F11] Debug-Funktion verwendet den watched Pointer und wurde durch ein paar C-Script Zeilen fest in die Engine eingebunden:
function _tog_dbg()
{
  if(key_shift)
  {
    freeze_mode = (freeze_mode == 0); // freeze mode umschalten
    while(freeze_mode)
    {
      mouse_mode = 2;
      mouse_cursor = 2;
      mouse_pos.x = mouse_cursor.x; // bewegt die  maus zum pointer
      mouse_pos.y = mouse_cursor.y;
      if(mouse_left)
      {
        watched = mouse_ent;   // setzt entity auf debug
      }
      wait(1);
    }
  }
} 

Siehe auch:

watched, breakpoint, debug_external, debug_mode

► Aktuelle Version Online