我试图在debugging器中运行dfhack 。 我正在运行64位的Ubuntu Trusty,但矮人堡垒没有64位版本,所以我正在运行32位的矮人堡垒(Dwarf Fortress)。 我已经通过apt-get install gdb:i386 。
下面是我用gdb启动dfhack时发生的情况:
ben@australium:~/df_linux$ xvfb-run -a ./dfhack --gdb GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.2) 7.7.1 copyright (C) 2014 Free Software Foundation,Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY,to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "i686-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions,please see: <http://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help,type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from ./libs/Dwarf_Fortress...(no debugging symbols found)...done. (gdb) start Temporary breakpoint 1 at 0x804bdec Starting program: /home/ben/df_linux/libs/Dwarf_Fortress ERROR: ld.so: object './hack/libdfhack.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1". Temporary breakpoint 1,0xf7598b53 in main () from /home/ben/df_linux/libs/libgraphics.so (gdb)
下面是我在没有gdb的情况下运行的情况:
ben@australium:~/df_linux$ xvfb-run -a ./dfhack Xlib: extension "RANDR" missing on display ":99". Loading bindings from data/init/interface.txt New window size: 1280x720 Font size: 10x12 Resizing grid to 128x60 Resizing font to 10x12 Resetting textures DFHack is ready. Have a nice day! Type in '?' or 'help' for general help,'ls' to see all commands. [DFHack]#
以编程方式确定本地.exe是32位还是64位
在Windows 7 64位中使用32位shell扩展
什么是64位Windows上的PE文件的最大大小?
从32位C DLL创build一个64位的DLL
在64位机器上编译32位代码时,应该如何处理“从void *'强制转换为”int“会失去精度?
ben@australium:~/df_linux$ readelf -h /home/ben/df_linux/libs/Dwarf_Fortress ELF Header: Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 Class: ELF32 Data: 2's complement,little endian Version: 1 (current) OS/ABI: UNIX - System V ABI Version: 0 Type: EXEC (Executable file) Machine: Intel 80386 Version: 0x1 Entry point address: 0x804c980 Start of program headers: 52 (bytes into file) Start of section headers: 18192664 (bytes into file) Flags: 0x0 Size of this header: 52 (bytes) Size of program headers: 32 (bytes) Number of program headers: 8 Size of section headers: 40 (bytes) Number of section headers: 28 Section header string table index: 27 ben@australium:~/df_linux$ readelf -h /home/ben/df_linux/hack/libdfhack.so ELF Header: Magic: 7f 45 4c 46 01 01 01 03 00 00 00 00 00 00 00 00 Class: ELF32 Data: 2's complement,little endian Version: 1 (current) OS/ABI: UNIX - GNU ABI Version: 0 Type: DYN (Shared object file) Machine: Intel 80386 Version: 0x1 Entry point address: 0x1b7e40 Start of program headers: 52 (bytes into file) Start of section headers: 43686636 (bytes into file) Flags: 0x0 Size of this header: 52 (bytes) Size of program headers: 32 (bytes) Number of program headers: 7 Size of section headers: 40 (bytes) Number of section headers: 37 Section header string table index: 34 ben@australium:~/df_linux$ readelf -h /usr/bin/gdb ELF Header: Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 Class: ELF32 Data: 2's complement,little endian Version: 1 (current) OS/ABI: UNIX - System V ABI Version: 0 Type: EXEC (Executable file) Machine: Intel 80386 Version: 0x1 Entry point address: 0x808cb95 Start of program headers: 52 (bytes into file) Start of section headers: 5089368 (bytes into file) Flags: 0x0 Size of this header: 52 (bytes) Size of program headers: 32 (bytes) Number of program headers: 9 Size of section headers: 40 (bytes) Number of section headers: 28 Section header string table index: 27
我可以runtime.exec()从64位Java的32位batch file?
64位Windows在驱动程序开发方面的数据alignment
如何在64位Linux上构build32位Python 2.6?
64位COM客户端,32位COM服务器,typelibrary syskind
一个32位进程上的线程的最大内存大小
错误:ld.so:LD_PRELOAD中的对象“./hack/libdfhack.so”无法预加载(错误的ELF类:ELFCLASS32):忽略。
这个错误来自GDB启动你的(64位)shell,而这个shell会执行你的(32位) dfhack程序。
您应该只关心预加载到目标程序中。 libdfhack.so没有被预装入你的shell是没有意义的 ,你应该忽略它。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。