728x90
Java 소스단에서 디버깅모드일 때만 버튼이 보이게끔해서 테스트 화면을 작성하고자 할 때
디버깅인지 아닌지 판단하는 방법이 있다.
// 디버깅 여부 확인
public static boolean isDebuggerAttached() {
RuntimeMXBean runtimeMXBean = ManagementFactory.getRuntimeMXBean();
for (String arg : runtimeMXBean.getInputArguments()) {
if (arg.startsWith("-agentlib:jdwp")) {
return true;
}
}
return false;
}
위의 함수로 현재 디버깅모드인지를 boolean타입으로 받아올 수 있다.
사용하려는 소스에서 생성자를 통해 디버깅 여부를 확인한 후
boolean isDebugingNow = isDebuggerAttached(); // 디버깅 여부 체크
혹은 this.isDebugingNow로 설정해놓는 것이 편리하다.
this.isDebugingNow = isDebuggerAttached(); // 디버깅 여부 체크
그다음 테스트 화면을 넣고자 하는 곳에
이 디버깅여부를 체크한 후 추가하도록 코드를 작성하면 된다.
if (this.isDebugingNow) {
// 디버깅 모드인 경우
Display.getDefault().asyncExec(new Runnable() {
@Override
public void run() {
ViewCheckSheetDlg dlg = new ViewCheckSheetDlg(PlatformHelper.getCurrentShell(), cnId);
dlg.setStartPosition(StartPosition.CenterParent);
dlg.open();
}
});
} else {
// 디버깅 모드가 아닌 경우
ViewCheckSheetDialog viewCheckSheetDialog = new ViewCheckSheetDialog(frame, cnId);
viewCheckSheetDialog.open();
}
위의 코드로 나는 디버깅모드인 경우 / 아닌 경우 로 구분해서 다른 Dialog가 열릴 수 있도록 해놓았다.
728x90
'Java' 카테고리의 다른 글
첫 프로젝트 시작! - 시스템관리 세팅 (개발환경세팅, 파일, DB 이관-INSERT문 SELECT하기) (0) | 2022.07.30 |
---|---|
[Geolocation Api] 주소 변환 API 사용 위도, 경도값 저장하기 (0) | 2022.05.26 |
[Window] ip주소, mac 주소 확인 방법 (0) | 2022.05.21 |
Java 개발 공부 18일차 (21.09.09) (0) | 2021.09.10 |
Java 개발 공부 15~17일차 (21.09.06~08) (0) | 2021.09.09 |