跳过导航链接 | |
退出打印视图 | |
Oracle Solaris Studio 12.3:使用 dbx 调试程序 Oracle Solaris Studio 12.3 Information Library (简体中文) |
loadobject 命令用于列出和管理装入对象中的符号信息。仅在本地模式中有效。
显示当前装入的装入对象(请参见loadobject -list 命令)
为指定的装入对象装入符号(请参见loadobject -load 命令)。
卸载指定的装入对象(请参见loadobject -unload 命令)。
从 dbx 的搜索算法中删除装入对象(请参见loadobject -hide 命令)。
将装入对象添加到 dbx 的搜索算法中(请参见loadobject -use 命令)。
显示装入对象的各种 ELF 详细信息(请参见loadobject -dumpelf 命令)。
不自动装入与 ex_regexp 匹配的装入对象(请参见loadobject -exclude 命令)。
清除模式排除列表(请参见loadobject -exclude 命令)。
其中:
regexp 是正则表达式。如果未指定,则该命令应用于所有装入对象。
ex_regexp 不是可选的,必须指定。
该命令的缺省别名是 lo。
loadobject -dumpelf 命令用于显示装入对象的各种 ELF 详细信息。仅在本地模式中有效。
loadobject -dumpelf [regexp]
其中:
regexp 是正则表达式。如果未指定,则该命令应用于所有装入对象。
该命令可转储出磁盘上装入目标文件的 ELF 结构的相关信息。该输出的详细信息随时变化。如果要分析此输出,请使用 Solaris OS 命令 dump 或 elfdump。
loadobject -exclude 命令用于告知 dbx 不要自动装入与指定正则表达式匹配的装入对象。
loadobject -exclude ex_regexp [-clear]
其中:
ex_regexp 是正则表达式。
此命令可防止 dbx 自动为与指定正则表达式匹配的装入对象装入符号。与其他 loadobject 子命令中的 regexp 不同,如果未指定 ex_regexp,并不表示缺省情况下应用于所有装入对象。如果未指定 ex_regexp,该命令将列出先前的 loadobject -exclude 命令指定的排除模式。
如果指定 -clear,则删除排除模式列表。
目前这种功能不能用于防止装入主程序或运行时链接程序。另外,如果使用它防止装入 C++ 运行时库,可能会导致某些 C++ 功能无法正常使用。
此选项不能与运行时检查 (RTC) 一起使用。
loadobject -hide 命令用于从 dbx 的搜索算法中删除装入对象。
loadobject -hide [regexp]
其中:
regexp 是正则表达式。如果未指定,则该命令应用于所有装入对象。
该命令从程序范围中删除装入对象,并隐藏其函数和符号,不让 dbx 得知。该命令也重置“预装入”位。
loadobject -list 命令用于显示当前装入的装入对象。仅在本地模式中有效。
loadobject -list [regexp] [-a]
其中:
regexp 是正则表达式。如果未指定,则该命令应用于所有装入对象。
显示每个装入对象的全路径名,并在旁边显示表示状态的字母。仅当指定了 -a 选项时,才会列出隐藏的装入对象。
此字母表示“隐藏”(whatis 或 stop in 之类的符号查询不会找到符号)。
如果有活动进程,u 表示“已取消映射”。
此字母表示预装入的装入对象,即程序中 loadobject -load 命令或 dlopen 事件的结果。
例如:
(dbx) lo -list libm /usr/lib/64/libm.so.1 /usr/lib/64/libmp.so.2 (dbx) lo -list ld.so h /usr/lib/sparcv9/ld.so.1 (rtld)
上述示例表明,缺省情况下,运行时链接程序的符号处于隐藏状态。要在 dbx 命令中使用这些符号,请参见loadobject -use 命令。
loadobject -load 命令用于为指定装入对象装入符号。仅在本地模式中有效。
loadobject -load loadobject
其中:
loadobject 可以是全路径名,也可以是 /usr/lib、/usr/lib/sparcv9 或 /usr/lib/amd64 中的库。如果在调试某个程序,将仅搜索适当的 ABI 库目录。
loadobject -unload 命令用于卸载指定的装入对象。仅在本地模式中有效。
loadobject -unload [regexp]
其中:
regexp 是正则表达式。如果未指定,则该命令应用于所有装入对象。
该命令卸载与命令行中提供的 regexp 匹配的所有装入对象的符号。不能卸载使用 debug 命令装入的主程序。另外,dbx 可能会拒绝卸载当前正在使用或对 dbx 的正确运行至关重要的其他装入对象。
loadobject -use 命令用于向 dbx 的搜索算法中添加装入对象。仅在本地模式中有效。
loadobject -use [regexp]
其中:
regexp 是正则表达式。如果未指定,则该命令应用于所有装入对象。