2011-12-20 544 views
4

現在の命令ポインタ..特定の場所にデバッガを置くと、前のステップのデバッグを開始し、現在の場所に移動します。デバッガが起動している間に、別の場所にデバッガアイコンが表示されたCurrent Instruction Pointerが表示されます。デバッグ現在の命令ポインタを取り除く方法

私は最後の2日間それを取り除こうとしています。

これはシナリオです:

私はopenattachment後に来る.which viewattachmentにデバッガを入れています。 私はopenattachmentをクリックすると、しかし、これはデバッグ取得を開始し、その後、私はデバッグがそれを起動するviewattachment ..

は、なぜそれがopenattachmentしようとしているをクリックしたとき?それは私のためのオーバーヘッドです。誰かが私にそれを助けることができますか?

私の質問が明確でない場合は教えてください。

コードを使用すると、Eclipseでデバッグしているとき、私の知る限りでは、あなたが現在位置を移動することはできません..........

下のよう
else if (getParameters().get("type") != null && getParameters().get("type")[0].equals("**viewattachment**")){ 
      String elementUid = getParameters().get("elementUid")[0]; 
      String target = "failure"; 
      JSONObject obj = new JSONObject(); 
      if (!isUserLoggedIn()){ 
       target="session"; 
       obj.put("result", target); 
      } 
      else{ 
       if (!isValidUid(cardUid) || !isValidUid(elementUid)){ 
        //return "fail"; 
        obj.put("result", "fail"); 
       } 
       else { 
        setMessages(msgService.WSIGetAttachments(elementUid)); 
        if (!isAccountManager()) { 
         Message msg = getMessages().get(0); 
         HttpServletResponse response = ServletActionContext.getResponse(); 
         try{ 
          response.getOutputStream().print(obj.toString());     
         } 
         catch(IOException e){ 
          log.error(e); 
         }   
         response.setContentType(msg.getAttachmentcontentType()); 
         response.setHeader("filename", msg.getAttachmentName()); 
         response.getWriter().print(obj); 
         response.getWriter().flush(); 
         response.getWriter().close(); 


        } 
        return null; 
       } 
      } 
     } 
     else if (getParameters().get("type") != null && getParameters().get("type")[0].equals("**openattachment**")){ 
      String elementUid = getParameters().get("elementUid")[0]; 
      if (elementUid != null) {//Conversion detail request 
       JSONArray array = new JSONArray(); 
       JSONObject obj = new JSONObject(); 
       if (!isValidUid(elementUid)){ 
        obj.put("result", "fail"); 
        obj.put("message", "Not a valid element"); 
       } 
       else{ 
        setMessages(msgService.WSIGetAttachments(elementUid)); 
        obj.put("result","success"); 
        if (getMessages() != null && getMessages().size() > 0){     
         for (Message m : getMessages()){      
          JSONObject obj1 = new JSONObject(); 
          obj1.put("attachmentname", m.getAttachmentName()); 
          obj1.put("elementUid", m.getElementUID()); 
          array.add(obj1); 
         } 
        } 
        obj.put("messages", array); 
        HttpServletResponse httpResponse = ServletActionContext.getResponse(); 
        try{ 
         httpResponse.getOutputStream().print(obj.toString());     
        } 
        catch(IOException e){ 
         log.error(e); 
        }   
        return null; 
       } 
      } 
     } 
+0

これは私がこの問題を抱えているコードの場所です....私はどのように私は現在の場所のポインタを削除することができます知っている..他の行をデバッグする途中でブレークポイントは、クラス..... – Deepmala

答えて

0

です。現在デバッグ中のメソッドのソース(およびホットコード置換が機能している)を変更すると、デバッガはメソッドの先頭に戻り、変更されたメソッドで実行を続行できます。

「viewattachment」と「openattachment」は、あなたが提供したコードのどこに残っているのかまだ分かりません。

これがあなたの質問に答えることを願っています。

+0

@FrancisUpton私はこれにもかかわらず、強調表示されている1つの行で、私はそれを取り除く方法を考えていません。なぜそれはただ消えないのですか?私は何もデバッグしていない。私はすべてを何度も何度も閉じてしまった。私はwebappとmainメソッドの両方からクラスを実行しました。私はそれを得ていない。 – Xonatron

2

ソースファイルを右クリックするだけで、 "実行"オプションを選択すると、実行中にコンソールウィンドウで停止(赤いボタン)をクリックすると、 "現在の命令のデバッグポインタ"

関連する問題