Programa de ejemplo de para practicar:
Código
#include <cstdio> #include <cstdlib> #include <ctime> #include <cstdint> int main(int argc, char**argv) { char *pBuffer=0; int index=0,iUnknownSize=0; srand(time(NULL)); do { iUnknownSize=rand()%20+1; } while(iUnknownSize<=0); pBuffer=(char*)malloc(iUnknownSize); if(pBuffer) { for(;index<iUnknownSize;index++) pBuffer[index]=(char)(rand()%254+1)&0xFF; printf("Comienza el procesado...\n"); for(index=0;index<iUnknownSize;index++) printf("%X\n",(char)(pBuffer[index]&(uint64_t)0xFF)); printf("Finaliza el procesado...\n"); free(pBuffer); } printf("\n"); return 0; }
Al poner un breakpoint al primer printf que es lo que me interesaría puedo consultar la variable iUnknownSize y luego utilizarla con el comando x (examinar memoria)
Pero la idea sería final sería poner al breakpoint un comando automático que dumpee como lo siguiente:
Código:
x/(obtener valor de iUnknownSize)xb pBuffer
¿Mi pregunta sería hay alguna manera de especificarle depurador dicho valor al examinar?
B#