Ruby C 확장을 작성 중이며 버그를 찾으려면 GDB 또는 Valgrind를 자주 실행해야합니다. IRB는 루비 스크립트가 아닌 실행이기 때문에, IRB를 위해 작동하지 않습니다, 불행하게도irb 프로세스에서 gdb 또는 valgrind를 어떻게 실행할 수 있습니까?
namespace :spec do
RSPEC_CMD = [ 'ruby', '-S', 'rspec', '-Ilib:ext', SPECDIR ]
desc "Run specs under GDB."
task :gdb => [ :compile ] do |task|
cmd = [ 'gdb' ] + GDB_OPTIONS
cmd += [ '--args' ]
cmd += RSPEC_CMD
run(*cmd)
end
desc "Run specs under Valgrind."
task :valgrind => [ :compile ] do |task|
cmd = [ 'valgrind' ] + VALGRIND_OPTIONS
cmd += RSPEC_CMD
run(*cmd)
end
end
: 내 사양을 디버깅, 나는 이것을 사용합니다.
나는 대답이 극히 사소한 것이라고 상상하지만 나는 스스로 알아낼 수있는 충분한 쉘 매직을 모른다.
주의
내가 사용 IRB (명령을 입력)뿐만 아니라 실행 IRB 수 있어야한다는 것입니다.그래서 GDB (또는 Valgrind)에서 IRB를 실행하는 명령은 무엇입니까?