title: Eclipse debugging Android app - debugger shows wrong line executing
body: <p>While implementing Twitter integration in my app, I discovered the following oddness of the Eclipse debugger.  What is causing this?</p>
  
  <p>I'm using this AsyncTask for getting a request token from twitter using twitter4j 3.0.3.</p>
  
  <pre><code>    public class TwitterRequestAsync extends AsyncTask&lt;Void, Void, RequestToken&gt; {
  
          private Context context;
  
          public TwitterRequestAsync(Context context) {
  
              this.context = context;
          }
  
          @Override
          protected RequestToken doInBackground( Void... params ) {
  
              Twitter twitter = getTwitter();     // getTwitter() is in enclosing class
              try {
                  RequestToken token = twitter.getOAuthRequestToken();
                  return token;
              }
              catch (TwitterException e) {
                  Log.e( TAG, e.getMessage(), e );
                  return null;
              }
          }
  
          @Override
          protected void onPostExecute( RequestToken result ) {
  
              super.onPostExecute( result );
              if ( result != null ) {
                  // stuffs concerning request token here
              }
          }
  
      }
  </code></pre>
  
  <p>When I debug this code it appears that there is an exception thrown when getOAuthRequestToken() executes and the next line that the debugger shows executing is in the catch clause, return null;</p>
  
  <p>However, the result that is returned to onPostExecute(...) is a valid request token, so the debugger is doing something weird.  I've cleaned my project and restarted Eclipse each multiple times with no change in this behavior.  Am I broken?</p>