Die env sind: Netbeans (v = 6.9.1), Ruby-Debug-Basis (v = 0.10.4), Ruby-debug-id (0.4.16), Rubin (v = 1.8.7)Mit NetBeans, warum Ruby debuggen nicht Multibytes Zeichenfolge richtig anzeigen?
Während des Prozesses ein Ruby-Skript von debug, die debuger multibytes nicht korrekt angezeigt und kann immer zeigt „Binary Data“ für multibytes Zeichenfolge in variabler Fensteransicht:
require 'rubygems'
require 'active_support'
str = "调试程序"
str = str.mb_chars
puts "length: #{str.length}"
BTW, habe ich versucht, 0.4.16, 0.4.11 für Ruby-Debug-IDE, aber sie haben die gleiche Ausgabe.
Kann mir jemand sagen, wie es gemacht wird, um die Multibyte-Zeichenfolge richtig in der Debug-Variablenfensteransicht anzuzeigen?
Vielen Dank Greg. Ich habe versucht, -KU Laufzeitparameter zu setzen, und während des Debug-Vorgangs wird immer Binäre Daten angezeigt. also werde ich beim Debug-Problem Kompromisse eingehen. Wie auch immer, vielen Dank. – ywenbo
Debugger neigen dazu, Binärdaten als Escape-Werte anzuzeigen. Wenn alle Daten in einen bestimmten Unicode-Code-Satz passen, kann davon ausgegangen werden, dass es sich um eine Form von Text handelt. Wenn die Werte jedoch aus vielen Code-Sets stammen, wird sie wahrscheinlich zurückgehen, weil sie nicht weiß, ob der String tatsächlich existiert enthält Text oder wenn es sich um eine Variable handelt, die irgendeine Art von Binärdaten enthält. Einige Debugger ermöglichen das Umsetzen auf einen bestimmten Variablentyp, wie z. B. eine Zeichenfolge oder eine Struktur. So können Sie dem Debugger beibringen, wie Sie Dinge anzeigen möchten, aber ohne Ihre Hilfe würden Sie die Escape- oder Hexadezimalanzeige verwenden. –
Es ist schon eine Ewigkeit her, seit ich es gemacht habe, aber ich denke, der Debugger in NetBeans wird es Ihnen ermöglichen, Werte einzubinden, wenn Sie sie im Java-Debugger zumindest für Java anzeigen. NetBeans und Java sind sehr gut integriert; Ich glaube nicht, dass sie es bisher mit Ruby geschafft haben. –