Wie zeige ich im Clions-Debugger den gesamten Inhalt eines Int-Arrays an?

Wie zeige ich im Clions-Debugger den gesamten Inhalt eines Int-Arrays an?


Im Moment zeigt es nur das erste Element des Arrays, aber ich möchte eine Visualisierung aller Elemente im Array. Ich glaube, Clion verwendet GDB.


BEARBEITEN:Ich beziehe mich speziell auf Arrays auf dem Heap. Arrays auf dem Stack können visualisiert werden.


Antworten:


Leider unterstützt CLion derzeit keine solche Funktion. Wie von einem JetBrains-Mitarbeiter vorgeschlagen, können Sie eine Problemumgehung verwenden. Verwenden Sie im Fenster Evaluate / Watches den folgenden Ausdruck:


(MyType[128])myArray

Sie können eine beliebige Array-Größe verwenden; was auch immer für Sie funktioniert.


Wenn Ihr Array in void * gespeichert ist Variable, müssen Sie etwas kniffligeres machen:


(MyType[128])*(char*)myArray

Einige Code-Antworten


(MyType(*)[128])myArray 
(MyType[128])myArray 
(MyType[128])*(char*)myArray 
*((int*)$rsp - 0x100)@get_size(data) 
template<int N>
void foo1(int (&arr)[N]) {
... }
template<int N>
void foo2(int (&arr)[N]) {
... } template<int N>
void foo1(int (&arr)[N]) {
foo2(arr);
}
pthread_t** pthreads = (pthread_t**) malloc(//malloc args) thread_count = 0;
while(thread_count <
10) {
pthread_t* myThread = (pthread_t*) malloc(//malloc args)
pthreads[thread_count] = myThread;
thread_count++;
}