3

エラーメッセージ:evaluation of this expression requires the program to have a function "malloc".

> gdb /Users/jani/.rbenv/versions/2.0.0-p247/bin/ruby  27300
GNU gdb (GDB) 7.6.1
This GDB was configured as "x86_64-apple-darwin13.0.0".
Reading symbols from /Users/jani/.rbenv/versions/2.0.0-p247/bin/ruby...done.
Attaching to program: /Users/jani/.rbenv/versions/2.0.0-p247/bin/ruby, process 27300
[New Thread 0x1703 of process 27300]
0x0000000101fdfacf in ?? ()
(gdb) ruby_eval("puts 1")
evaluation of this expression requires the program to have a function "malloc".

誰にも手がかりがありますか?

4

1 に答える 1

0

gdb から「下位関数呼び出し」を呼び出す (ruby_eval("puts 1") ビット) には、gdb がターゲット プロセスにメモリを割り当てる必要があるため、スタック フレームやパラメータなどをそこに置くことができます。これを行うために、gdb は通常、下位プロセスに C ライブラリの malloc(3) 関数を実行させます。gdb が malloc を見つけられない場合、inferior 関数の呼び出しはできません。

于 2013-10-24T18:44:20.750 に答える