title: gdb do not show the right source code by the instruction -l
body: <p>I have met a freaky problem during my internship. My work is to code with VTK in C++ and I worked on OSX 10.8.3. </p>
  
  <hr>
  
  <p>When I want to debug my program, I ran the gdb and use instruction "file" to load my program, then I used "list" to show the source code to make a breakpoint by line number. Here goes the problem: this freaky gdb showed the source code of a VTK header file which I even hadn't included in my source code!</p>
  
  <hr>
  
  <p>My program's name is read
  I have tried to use <code>gdb read</code> then <code>break read:15</code> to set a breakpoint but the gdb displayed "<code>no source file named read</code>" that is ridiculous!
  I have noticed that gdb works well in my ubuntu 12.04 and when I use <code>file read</code> in linux's gdb, it just displayed</p>
  
  <pre><code>Reading symbols from /Users/apple/Dev/VTKRead/bin/bin/read...done.
  </code></pre>
  
  <p>but in my OSX 10.8.3's freaky gdb it displayed</p>
  
  <pre><code>Reading symbols for shared libraries ......... done
  Reading symbols from /Users/apple/Dev/VTKRead/bin/bin/read...done.
  </code></pre>
  
  <p>I think that is the reason and I tried to change compiler to solve problem by install gcc4.8 in macport but cmake seems only accept the apple's gcc.</p>