【发布时间】:2017-04-04 14:19:01
【问题描述】:
如何使用 Python 从 gdb 访问这些值?:
some_array_smartptr->operator[](0)->item // no errors are checked for sake of clarity
在 gdb 中这条线运行良好,但我不知道如何在 Python 中使用它,因为我正在实现自动化测试。
请注意,vector 和 smartptr 都不是标准的,而是手动编写的。不过语义是一样的。
【问题讨论】:
-
您能否提供更多有关您如何访问程序的背景信息?我是通过 Review Queue 而不是 C++ 开发人员来查看这个问题的,所以我无法回答,但看起来这里还有提高清晰度的空间。
-
目前我的测试看起来像 Python 代码,其中包含一个字符串列表行
"variable_x == value",其中的元素一个一个地执行,添加了if gdb.parse_and_eval(item)和then子句。我基本上不需要任何 python 代码,它是 gdb 行的一种包装器,我想简化它。实际上,我使用 gdb 行只是因为访问值的 Python 语法不清楚,我想澄清一下(正如我在问题的第一句中所述)。
标签: python c++ debugging gdb automated-tests