title: WinDBG doesn't stop at process entry point
body: <p>I'm trying to use WinDBG and wrote a simple hello world in ASM (running on Windows XP).</p>
  
  <p>Now I was a bit surprised, when I run it, that WinDBG always stops in ntdll when I load the process:</p>
  
  <pre><code>ntdll!DbgBreakPoint:
  7c90120e cc              int     3
  7c90120f c3              ret
  </code></pre>
  
  <p>Normally I would expect that a debugger stops at the first instruction of the new process, not somewhere in the kernel. Now I can use:</p>
  
  <pre><code>bp start
  </code></pre>
  
  <p>where <code>start</code> is my entry point. But I have to do this always manually. Is there some way to instruct WinDBG that it should start debugging in my program and not somehwere else? Why doesn't it do this automatically? I noticed the same behaviour from GDB as well, but at least GDB automtatically seems to set a breakpint in <code>main()</code> (for C programs at least).</p>