Oracle® Solaris Studio 12.4:使用 dbx 调试程序

退出打印视图

更新时间: 2015 年 1 月
 
 

Python 美化输出过滤器 (Oracle Solaris)

美化输出过滤器功能使用户能够以 python 编写过滤器,过滤器可以将值从一种形式转换为另一种形式。基于 Python 的美化输出器仅在 Oracle Solaris 中可用。


注 -  Python 美化输出过滤器仅可在 C 和 C++ 代码中使用,而无法在 Fortran 中使用。

系统已内置过滤器,用于在 C++ 标准模板库的 4 种实现中选择类。下表指定了库名和该库的编译器选项:

库的编译器选项
库名
–library=Cstd(缺省值)
libCstd.so.1
–library=stlport4
libstlport.so.1
–library=stdcxx4
libstdcxx4.so.4.**
–library=stdcpp(使用 –std=c++11 选项时的缺省值)
libstdc++.so.6.*

下表指定哪些类过滤器可在 C++ 标准模板库中使用,以及是否可输出索引和分片:

索引和分片可用
字符串
向量
列表
集合
示例 8-1  使用过滤器的美化输出

以下是一个在 dbx 中使用 print 命令时输出列表的输出示例:

(dbx) print list10
list10 = {
   __buffer_size = 32U       
   __buffer_list = {
     __data_ = 0x654a8
   }
   __free_list   = (nil)
   __next_avail  = 0x67334
   __last     = 0x67448
   __node     = 0x48830
   __length   = 10U
   }

以下是与 dbx 中输出的列表相同的列表,但该列表使用的是美化输出过滤器:

(dbx) print -p list10
list10 = (200, 201, 202, 203, 204, 205, 206, 207, 208, 209)

(dbx) print -p list10[5]
list10[5] = 205

(dbx) print -p list10[1..100:2]
list10[1..100:2] =
[1] = 202
[3] = 204
[5] = 206
[7] = 208

在 Oracle Solaris 上使用 Python

Python 美化输出过滤器和 python 命令仅在 Oracle Solaris 中可用。要启动内置的 Python 解释程序,请键入 python。要对 Python 代码求值,请键入 python python-code。新生的 Python 插件 API 可用。但是,其主要用途是编写可以作为回调调用的美化输出器过滤器。因此 python 命令主要用于测试和诊断用途。

Python 美化输出 API 文档

要生成 python 美化输出 API 文档,请使用 python-docs 命令。该命令仅在 Oracle Solaris 上可用。