Bom dia pessoal.
Estou com o seguinte problema, eu preciso fazer uma aplicação que:
- Execute um aplicativo feito em C;
- Este aplicativo será debugado pelo Valgrind (o valgrind verifica a utilização da memória, se foi feita uma alocação e não teve um free por exemplo)
- Preciso pegar as saidas do Valgrind e Retornar o valor 1 (ocorreu erro) ou valor 0 (não há erros)
Fiz da seguinte forma:
String line;
Process p = Runtime.getRuntime().exec("valgrind -v /gera_erro2");
BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
while ((line = input.readLine()) != null) {
System.out.println(line);
}
input.close();
As saídas que eu capturo são do “gera_erro2”, as do Valgrind que são as importantes não são capturadas.
Um rapaz disse que teria como fazer utilizando Scanner mais ou menos assim :
Scanner = new Scanner("program_name");
Alguém teria uma idéia de como isso poderia ser feito.
PS: Estou utilizando Linux (Debian)
Att., Roberto