草庐IT

android - 直接从 Delphi 调用 Android NDK 函数的困难

可以通过JNIandNDK从Delphi调用AndroidC函数.要实现这一点需要大量工作,建议直接调用NDK函数。为此,我创建了一个小示例文件来按照我在Delphi源代码中找到的行声明一个外部C函数。在\source\rtl\android中更具体.我创建了一个非常小的测试程序来测试直接从Delphi调用C函数的功能。您将在下面找到所有源代码,这是我目前正在测试的。unitDLL_external;interfaceconstMIDI_Lib='/usr/lib/libmiditest.so';test_fun='test_1';functiontest_1(n:Integer):I

linux - GDB远程调试错误

我尝试在x86_64suselinux上远程调试32位应用程序,但出现“远程寄存器格式错误”错误。我启动gdbserver监听端口12345(gdbserverlocalhost:12345my_prog)这是错误:$gdbGNUgdb6.6Copyright(C)2006FreeSoftwareFoundation,Inc.GDBisfreesoftware,coveredbytheGNUGeneralPublicLicense,andyouarewelcometochangeitand/ordistributecopiesofitundercertainconditions.Typ

linux - GDB远程调试错误

我尝试在x86_64suselinux上远程调试32位应用程序,但出现“远程寄存器格式错误”错误。我启动gdbserver监听端口12345(gdbserverlocalhost:12345my_prog)这是错误:$gdbGNUgdb6.6Copyright(C)2006FreeSoftwareFoundation,Inc.GDBisfreesoftware,coveredbytheGNUGeneralPublicLicense,andyouarewelcometochangeitand/ordistributecopiesofitundercertainconditions.Typ

python - 如何从 PythonGDB (GDB 7.1) 中的 gdb.execute 获取输出?

我目前正在编写PythonGDB脚本。问题是它必须与GDB7.1兼容。所以我首先为GDB7.3.1编写脚本并使用以下函数接收gdb命令的输出(GDB7.3.1):myvar=gdb.execute("infotarget",False,True)这个函数的最后一个参数是它应该以字符串形式返回结果(这很有意义;否则我为什么要执行这样的命令;))在GDB版本7.1中,虽然最后一个参数似乎是isn'tavailable因此这一行(GDB7.1):myvar=gdb.execute("infotarget",False)返回无。是否有机会检索此命令的输出?我已经尝试将我的python脚本的标准

python - 如何从 PythonGDB (GDB 7.1) 中的 gdb.execute 获取输出?

我目前正在编写PythonGDB脚本。问题是它必须与GDB7.1兼容。所以我首先为GDB7.3.1编写脚本并使用以下函数接收gdb命令的输出(GDB7.3.1):myvar=gdb.execute("infotarget",False,True)这个函数的最后一个参数是它应该以字符串形式返回结果(这很有意义;否则我为什么要执行这样的命令;))在GDB版本7.1中,虽然最后一个参数似乎是isn'tavailable因此这一行(GDB7.1):myvar=gdb.execute("infotarget",False)返回无。是否有机会检索此命令的输出?我已经尝试将我的python脚本的标准

linux - 有谁知道是否有人集成了 libsegfault.so 和 gdbserver 以便将 gdb 即时附加到崩溃的程序?

它在http://sourceware.org/ml/gdb/2007-06/msg00360.html中提到之前。但似乎没有人真正实现过这种想法。实现这一点有什么障碍吗?我的要求如下:能够插入任何elf二进制可执行文件(例如使用LD_PRELOAD)二进制文件可以是多线程可执行文件二进制文件可能链接到包含主要功能的库这应该适用于x86以外的各种cpu架构(至少是MIPS、ARM、PPC)因此,如果已经有这样的解决方案,我想要一个链接,但如果还没有,我想知道为什么它还没有作为轮子实现。可能只是没有人不需要它...但我认为这对于作为标准准备非常有用。除了将代码放在一起之外,任何技术或政治

linux - 有谁知道是否有人集成了 libsegfault.so 和 gdbserver 以便将 gdb 即时附加到崩溃的程序?

它在http://sourceware.org/ml/gdb/2007-06/msg00360.html中提到之前。但似乎没有人真正实现过这种想法。实现这一点有什么障碍吗?我的要求如下:能够插入任何elf二进制可执行文件(例如使用LD_PRELOAD)二进制文件可以是多线程可执行文件二进制文件可能链接到包含主要功能的库这应该适用于x86以外的各种cpu架构(至少是MIPS、ARM、PPC)因此,如果已经有这样的解决方案,我想要一个链接,但如果还没有,我想知道为什么它还没有作为轮子实现。可能只是没有人不需要它...但我认为这对于作为标准准备非常有用。除了将代码放在一起之外,任何技术或政治

linux - 结构变量上的 gdb 观察点

我有这样的结构:structA{inta;charb;};此结构在大型代码的不同地方被引用。指向这个结构的指针被传递给不同的函数,相应地更新了这个结构中的变量。我想在此结构中的变量a上设置一个观察点,因为它遍历许多函数。看看a是如何变化的。如何设置这个观察点? 最佳答案 首先设置一个断点,您可以在其中使用break创建结构的实例,例如breakmyfile.c:9然后只需使用watch设置一个观察点,比如watchmyStructInstance.a对于变量a或watch*0x7ffff75177f0用于内存地址。可以使用print

linux - 结构变量上的 gdb 观察点

我有这样的结构:structA{inta;charb;};此结构在大型代码的不同地方被引用。指向这个结构的指针被传递给不同的函数,相应地更新了这个结构中的变量。我想在此结构中的变量a上设置一个观察点,因为它遍历许多函数。看看a是如何变化的。如何设置这个观察点? 最佳答案 首先设置一个断点,您可以在其中使用break创建结构的实例,例如breakmyfile.c:9然后只需使用watch设置一个观察点,比如watchmyStructInstance.a对于变量a或watch*0x7ffff75177f0用于内存地址。可以使用print

c - GDB SIGALRM,闹钟终止

我遇到了一个以前没见过的小问题。我正在尝试调试一个软件包并通过GDB运行(在UbuntuLinux上)。几秒/分钟后,我收到此消息:ProgramterminatedwithsignalSIGALRM,Alarmclock.Theprogramnolongerexists然后,我退出GDB,重新启动并继续调试...这真的很烦人,因为我不得不退出它1000次。我想知道以前是否有人遇到过这个问题?!我假设“SIGALRM”已在某处的源文件中编程,是否有一种方法可以运行GDB而不受上述影响?谢谢。 最佳答案 告诉gdbignore信号:(