给定一个函数或变量运行时地址,我的代码需要找出名称,如果是变量,则需要符号的类型信息。或者至少为以后离线提取名称(和类型信息)提供足够的信息。这是Linux代码,假定调试信息可用。我试图研究ELF文件格式、binutils和所有但主题很大,所以我希望有人能帮助我缩小范围。我可以看到以下类型的解决方案:找到当前加载到内存中的模块的代码/数据段的范围-怎么做?。保存地址的模块和段名称以及在其段中的偏移量。离线然后使用binutils在模块的调试信息中查找符号-再次,如何做?使用一些我不知道的API/系统服务在运行时查找符号和信息-如何?提前谢谢你。 最佳答案
我正在编写需要在此位置创建文件的bash脚本:/etc/yum.repos.d/nginx.repo包含以下内容:[nginx]name=nginxrepobaseurl=http://nginx.org/packages/centos/$releasever/$basearch/gpgcheck=0enabled=1所以,我试过这样做:cat>/etc/yum.repos.d/nginx.repo当我检查文件的内容时,我看到以下内容:如您所见,美元符号未被转义,因此变量被评估为null/空字符串,内容看起来不正确。因为,当我尝试安装nginx时,出现了这个错误:http://ngin
我正在使用名为SecugenPro20的设备捕获指纹,它有自己的LinuxSDK,我想捕获指纹图像并将其保存为任何图像格式。他们有这个typedefunsignedcharBYTE;我声明了我的imageBufferBYTE*CurrentImageBuffer;然后我使用设备规范为其分配内存CurrentImageBuffer=malloc(device_info.ImageWidth*device_info.ImageHeight);在我的代码中的某个时刻,我捕获图像并将CurrentImageBuffer作为参数传递给捕获函数:SGFPM_GetImageEx(m_hFPM,Cu
如果我有一个通过符号链接(symboliclink)执行的python脚本,有没有办法找到脚本的路径而不是符号链接(symboliclink)?我尝试使用this中建议的方法问题,但它们总是返回符号链接(symboliclink)的路径,而不是脚本。例如,当这被保存为我的“/usr/home/philboltt/scripts/test.py”时:#!/usr/bin/pythonimportsysprintsys.argv[0]print__file__然后我创建这个符号链接(symboliclink)ln-s/usr/home/philboltt/scripts/test.py/u
有没有一种简单的方法来显示指定路径中是否有任何符号链接(symboliclink)指向某个目录或其子目录之一? 最佳答案 一种简单而快速的方法,假设您将目标作为绝对路径(readlink(1)可能有助于解决这个问题):find$PATH-typel-xtyped-lname"$DIR*"这会找到$PATH下的所有符号链接(symboliclink)(-typel),它们链接到名称以开头的目录(-xtyped)使用$DIR。另一种方法,复杂度为O(n*m),因此可能需要很长时间和两天时间:find$DIR-typed|xargs-
操作系统:Linux我正在尝试链接mips64-softmmu/qemu-system-mips64但它导致错误:./slirp/misc.o:Infunction`memset':/usr/include/bits/string3.h:81:warning:memsetusedwithconstantzerolengthparameter;thiscouldbeduetotransposedparameters/usr/bin/ld:../qemu-timer.o:undefinedreferencetosymbol'timer_settime@@GLIBC_2.3.3'/usr/b
我在linuxx86上创建了一个共享库。在创建它时,我在openssl中进行了静态链接。OpenSSL仅在内部使用,但我看到openssl符号已导出。这会导致其他需要我的库和openssl的库出现问题,因为可能会在运行时加载错误的符号。当我将它静态链接到我的共享库时,有没有办法阻止导出所有openssl符号?谢谢,迈克 最佳答案 假设您正在使用gcc,当链接您的库时,设置-fvisibility=hidden并在您的库源代码中,将所有您希望可见的函数标记为extern。我认为只要openssl没有声明自己的外部函数,这就应该有效。我
在安装带有XCB支持的Qt5期间./configure-prefix$PWD/qtbase-opensource-nomaketests-qpaxcb-qt-xcb失败,因为它不是无法链接到libXau和libXdmcp/usr/local/lib/libxcb.a(xcb_auth.o):Infunction`get_authptr':/users/salunkrj/libxcb-1.9/src/xcb_auth.c:163:undefinedreferenceto`XauGetBestAuthByAddr'/usr/local/lib/libxcb.a(xcb_auth.o):In
想象一个项目,它需要构建两个linux内核模块,具有以下源代码树布局:modules/|--common/|`--common_data.c|--mod1/|`--mod1_main.c`--mod2/`--mod2_main.ccommon_data.o目标文件需要包含到两个模块中。所以这个项目的Kbuild文件看起来像这样:obj-m:=mod1.omod2.omod1-y:=mod1/mod1_main.ocommon/common_data.omod2-y:=mod2/mod2_main.ocommon/common_data.o如果common_data.c文件中没有导出符号
Ubuntu15.04,已编译安装Linux-Next内核2015-06-04。然后启动这个内核,然后运行perftop,但它说找不到符号。如何在perf中手动加载内核符号?root@ubuntu-server:/boot#uname-r4.1.0-rc6.060402222+root@ubuntu-server:/proc#lskall*kallsymsroot@ubuntu-server:/boot#ls|grep4.1.0-rc6.060402222config-4.1.0-rc6.060402222+initrd.img-4.1.0-rc6.060402222+System