请帮我解决这个问题。我执行以下在gdb和控制台输出命令被如下 -gdb抛出错误说程序有一个函数“malloc”
Rohan_gdb $组是$ var = 15
Rohan_gdb $ P $变种
$ 5 = 0xf
Rohan_gdb $组是$ var =为(int *)10
Rohan_gdb $ p $变种
$ 6 =(INT *)是0xA
Rohan_gdb $集合$炭= “ABC”
Rohan_gdb $ P $炭
$ J = “ABC”
Rohan_gdb $集合$焦炭=(字符*) “XYZ”
评估这个表达式需要程序具有一个函数 “malloc”。 * //这里我得到错误.... *
Rohan_gdb $ P $焦炭
$ 8 = “ABC”
Rohan_gdb $
我在这里与目标调试而不是本机调试。我正在使用GNU gdb(GDB)7.2版本。是否可以使用脚本解决。 任何人都可以帮我解决这个问题。在此先感谢.....
malloc是在标准C库中,你如何加载符号? – Michael 2016-01-17 18:04:43
这是一个非常好的问题。通常情况下,标准C库的符号对于我工作的环境来说“就在那里”。鉴于OP的问题的背景,我怀疑它们处于并非如此的环境中。坦率地说,最简单的解决方案是编译一个围绕malloc()的存根包装器,并与它链接并手动调用它。说实话,自从我不得不建立标准库以来,这已经很长时间了,如果没有大量研究,我现在不知道如何去做。 – bbum 2016-01-17 18:51:57