आप हमेशा एक ही काम करने के लिए जीडीबी में एक फ़ंक्शन को परिभाषित कर सकते हैं। आप निम्नलिखित ग कोड था:
#include <stdio.h>
#define ARRAY_SIZE 5
void printArray(int array[ARRAY_SIZE][ARRAY_SIZE]) {
int y;
for (y = 0; y < ARRAY_SIZE; y++) {
printf("[%d,%d,%d,%d,%d]\n",
array[y][0],
array[y][1],
array[y][2],
array[y][3],
array[y][4]);
}
}
int main(int argc, char *argv[]) {
int matrix[ARRAY_SIZE][ARRAY_SIZE] = {
{1,2,3,4,5},
{5,1,2,3,4},
{4,5,1,2,3},
{3,4,5,1,2},
{2,3,4,5,1},
};
printArray(matrix);
return 0;
}
फिर आप निम्न GDB समारोह (या इसे करने के लिए कुछ इसी तरह) निर्धारित कर सकते हैं:
(gdb) define printMatrix
Type commands for definition of "printmatrix".
End with a line saying just "end".
>set $arr = $arg0
>set $y = 0
>while $y < 5
>printf "[%d,%d,%d,%d,%d]\n",$arr[$y][0],$arr[$y][1],$arr[$y][2],$arr[$y][3],$arr[$y][4]
>set $y = $y + 1
>end
>end
जो निम्नलिखित उत्पादन में परिणाम होगा:
(gdb) printMatrix matrix
[1,2,3,4,5]
[5,1,2,3,4]
[4,5,1,2,3]
[3,4,5,1,2]
[2,3,4,5,1]
(gdb)
आप अपने जीडीबी फ़ंक्शन में लूप के दौरान आसानी से नेस्टेड का उपयोग कर सकते हैं। और, जैसा कि पिछले उत्तर में बताया गया है, आप हमेशा अपने प्रोग्राम में प्रिंटएरे फ़ंक्शन को जीडीबी के भीतर से कॉल कर सकते हैं।
सी ++ या उद्देश्य सी या सी या क्या? –
@ आर्मेन: उनमें से किसी एक में, मान लें कि मेरे पास एक सरणी int मैट्रिक्स है [10] [10]। – PlagueHammer
'सेट प्रिंट सरणी' पर जीडीबी प्रिंट सुंदर बना देगा – yuan