Sunteți pe pagina 1din 2

Tema pentru studiul individual:

21. Crearea şi depanarea unei aplicaţii: afişarea conţinutului directoriei indicate

Codul sursă:
#include <iostream>
#include <stdio.h>
#include <stdlib.h>

using namespace std;

string GetStdoutFromCommand(string cmd) {

string data;
FILE * stream;
const int max_buffer = 256;
char buffer[max_buffer];
cmd.append(" 2>&1");

stream = popen(cmd.c_str(), "r");


if (stream) {
while (!feof(stream))
if (fgets(buffer, max_buffer, stream) != NULL) data.append(buffer);
pclose(stream);
}
return data;
}

int main() {

string ls = GetStdoutFromCommand("ls -la");


cout << "LS: " << ls << endl;
return 0;
}

Rezultat:

o Rulăm aplicaţia
o Verificăm cum am ajuns la eroare
o Dezasamblăm aplicaţia
o Verificăm registrele
o Verificăm prezenţa aceluiaşi lucru la spaţiul de adrese al procesului
o Plasăm un breakpoint
o Continuăm examinarea: mod 1
o Continuăm examinarea: mod 2
o Examinăm ce se plasează în registre

S-ar putea să vă placă și