else {  blacklist.add(binaryFile); }
  public void lookup (String file, long addr)  {    binaryFile = file;    sourceFile = null;    lineNum = -1;        if (! use_addr2line)      return;    Addr2Line addr2line = (Addr2Line) procs.get(file);    if (addr2line == null)      {      addr2line = new Addr2Line(file);      procs.put(file, addr2line);      }        if (addr2line.proc == null)            return;        String hexAddr = "0x" + Long.toHexString(addr);    String name;    try      {      addr2line.out.write(hexAddr);      addr2line.out.newLine();      addr2line.out.flush();      String result = addr2line.in.readLine();      if (result.indexOf("??") == -1)	{	  int split = result.lastIndexOf(':');	  sourceFile = result.substring(0, split);	  String lineNumStr = result.substring(split + 1, result.length());	  lineNum = Integer.parseInt (lineNumStr);	}      }    catch (IOException ioe)      {      addr2line = null;      }    catch (NumberFormatException x)      {      }  }