usingAddr2name = true;
  public NameFinder()  {    executable = getExecutable();    Runtime runtime = Runtime.getRuntime();    if (demangle)    {      try	{	  String[] exec = new String[] {"c++filt", "-s", "java"};	  cppfilt = runtime.exec(exec);	  cppfiltIn = new BufferedReader			(new InputStreamReader(cppfilt.getInputStream()));	  cppfiltOut = new BufferedWriter			(new OutputStreamWriter(cppfilt.getOutputStream()));	}      catch (IOException ioe)        {	  if (cppfilt != null)	    cppfilt.destroy();	  cppfilt = null;	}    }    if (use_addr2line)      {	try	  {	    String[] exec = new String[] {"addr2line", "-f", "-e", executable};	    addr2line = runtime.exec(exec);	  }	catch (IOException ioe)	  {	    try	      {		String[] exec = new String[] {"addr2name.awk", executable};		addr2line = runtime.exec(exec);	      }	    catch (IOException ioe2) { addr2line = null; }	  }	if (addr2line != null)	  {	    try	      {		addr2lineIn = new BufferedReader			(new InputStreamReader(addr2line.getInputStream()));		addr2lineOut = new BufferedWriter			(new OutputStreamWriter(addr2line.getOutputStream()));	      }	    catch (IOException ioe)	      {  		addr2line.destroy();		addr2line = null;	      }	  }      }  }