【发布时间】:2015-07-09 21:04:34
【问题描述】:
例如用源码main.c:
#include <stdio.h>
int main()
{
int a[10] = {0,1,2,3,4,5,6,7,8,9};
int b = 2;
printf("line 7\n");
printf("line 8\n");
return 0;
}
使用LLDB 调试器,print a 产生:
(int [10]) $0 = {
[0] = 0
[1] = 1
[2] = 2
[3] = 3
[4] = 4
[5] = 5
[6] = 6
[7] = 7
[8] = 8
[9] = 9
}
问题 0:我怎样才能在一行上为 print 获得紧凑的打印,就像 GDB 一样:
$1 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
使用LLDB 调试器,display a 和display b 产生:
- Hook 1 (expr -- a)
(int [10]) $0 = {
[0] = 0
[1] = 1
[2] = 2
[3] = 3
[4] = 4
[5] = 5
[6] = 6
[7] = 7
[8] = 8
[9] = 9
}
- Hook 2 (expr -- b)
(int) $1 = 2
问题 1:我怎样才能在两行上紧凑打印 display,就像 GDB 一样:
2: b = 2
1: a = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
【问题讨论】:
-
我不知道答案,但你为什么要那个?
-
顺便说一句,很好的问题索引... :-)
-
@SouravGhosh 我正在调试代码并希望显示 17 个变量。在 GDB 中,输出为 12 行。在 LLDB 中,很多行,而且很难阅读,我必须滚动屏幕
-
Mine 为整个数组打印一行。你的
~/.lldbinit里有什么? -
@user744629:我的是 lldb-330.0.48。见my output。