Von Zeit zu Zeit bekomme ich das, wenn ein Breakpoint ausgelöst wird. Es sieht so aus, als würden Stack-Frames nicht gespeichert, so dass ich nicht durch den Call-Stack zurücktreten kann - ein echter Schmerz. Siehe unten für ein BeispielWarum sagt Ruby-debug 'Gespeicherte Frames können unvollständig sein'
--> #0 BatchProcess.add_failure_record(row_id#Fixnum, test#Struct::Test, message#String,...)
at line server/processes/batch.rb:309
Warning: saved frames may be incomplete; compare with caller(0).
(rdb:1) pp caller
["./server/processes/batch.rb:309:in `run_tests'",
"./server/processes/common/generic_process.rb:219:in `each'",
"./server/processes/common/generic_process.rb:219:in `run_tests'",
"./server/processes/common/generic_process.rb:271:in `run_plan'",
"./server/processes/common/corrections.rb:19:in `each_with_index'",
"./server/processes/common/generic_process.rb:266:in `each'",
"./server/processes/common/generic_process.rb:266:in `each_with_index'",
"./server/processes/common/generic_process.rb:266:in `run_plan'",
"./server/processes/batch.rb:202:in `run_engine'",
"/usr/lib/ruby/1.8/benchmark.rb:293:in `measure'",
"./server/processes/batch.rb:201:in `run_engine'",
"./server/processes/common/generic_process.rb:88:in `run_dataset'",
"./server/processes/batch.rb:210:in `run_dataset'",
"/usr/lib/ruby/1.8/benchmark.rb:293:in `measure'",
"./server/processes/batch.rb:209:in `run_dataset'",
"./server/processes/common/generic_process.rb:159:in `run'",
"./server/processes/common/generic_process.rb:158:in `each'",
"./server/processes/common/generic_process.rb:158:in `run'",
"./server/processes/batch.rb:350:in `run'",
"/usr/lib/ruby/1.8/benchmark.rb:293:in `measure'",
"./server/processes/batch.rb:349:in `run'",
"server/processes/test_runs/run_tests.rb:55:in `run_one_process'",
"server/processes/test_runs/run_tests.rb:81"]
Irgendwelche Ideen, wie man das verhindert?
Dank Rocky. Das nächste Mal, wenn es passiert, werde ich versuchen, die Debugger.start Workaround –
Ich traf dieses Problem erneut und Ihre Lösung funktionierte. Volle Punkte für Sie! –
Ich bin nicht genau sicher, ob diese neue Nachricht auch informativ ist. Vielleicht ist es besser, wenn es etwas wie "Betrachten Sie das Anrufen" enthält, benötigen Sie "ruby-debug" \ n Debugger.start beim Start Ihres Programms. " – Smar