如何摆脱调试当前指令指针

时间:2011-12-20 20:59:00

标签: eclipse

当前指令指针..当我将调试器放在特定位置时,它开始调试其上一步,然后到达当前位置。在调试器启动时,我可以在另一个位置看到带有调试器图标的当前指令指针。

请帮助我,过去两天我一直试图摆脱它。

这是情景:

我已将调试器放在 viewattachment openattachment 之后。 但是,当我点击 openattachment 时,这开始调试,然后当我点击 viewattachment 时,调试就开始了..

为什么要进行开放式附加?对我来说是一个开销。有人可以帮我吗?

如果我的问题不明确,请告诉我。

代码如下..........

   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;
                }
            }
        }

2 个答案:

答案 0 :(得分:2)

只需右键单击源文件,您就可以选择“执行”选项,在运行时,在控制台窗口中可以单击停止(红色按钮),这将删除“调试当前指令指针”< / p>

答案 1 :(得分:0)

据我所知,在Eclipse中调试时无法移动当前位置。如果更改当前正在调试的方法源(并且热代码替换正在运行),则调试器将返回到方法的开头,以允许您继续使用更改的方法执行。

我仍然没有看到您提供的代码中的“viewattachment”和“openattachment”。

我希望这能回答你的问题。