Ermitteln Sie, ob ein Programm im Debug-Modus läuft

8

Ich benutze RubyMine, um meinen Ruby 2.0-Code zu schreiben und zu debuggen. Zu diesem Zweck wird ruby-debug-ide verwendet. Ich möchte wissen, ob ein Programm im Debug-Modus läuft.

Ich weiß, dass es die globale Variable Ruby $DEBUG gibt, aber soweit ich weiß, hat ruby-debug-ide sie nicht geändert, weil sie das -d ruby-Flag nicht benutzt hat.

Wenn ich meine Datei mit Rubymine debugge, sieht der ausgeführte Befehl wie folgt aus:

%Vor%

Ich habe versucht, ARGV oder 'rdebug-ide' zu verwenden, um festzustellen, ob die Befehlszeile die Zeichenfolge ARGV enthält, aber '/home/user/file.rb' ist ein leeres Array und %code% ist nur %code% , wie bekomme ich die vollständige Befehlszeile von RubyMine ausgeführt?

    
ShockwaveNN 26.02.2014, 11:21
quelle

2 Antworten

5

Das habe ich gemacht:

Ich habe den folgenden Code in eine (rails) -Aktion eingefügt und ein diff auf den Ausgaben sowohl im Debug- als auch im Nicht-Debug-Modus ausgeführt:

%Vor%

Ich habe festgestellt, dass einer der Unterschiede in ENV['RUBYLIB'] liegt (es gibt auch IDE_PROCESS_DISPATCHER , DEBUGGER_STORED_RUBYLIB , RUBYOPT , and DEBUGGER_HOST )

So würden Sie Folgendes überprüfen:

%Vor%     
Abdo 26.02.2014, 13:08
quelle
1

Sie benötigen die globale Variable $LOAD_PATH .

%Vor%

$LOAD_PATH hat diese Zeile "/home/username/RubyMine-6.0.2/rb/gems" , wenn ich den Debug-Modus verwende.

    
Flamine 26.02.2014 11:50
quelle

Tags und Links