IntelliJ가 내 소스 코드에만 들어가도록 강제하는 방법은 무엇입니까?
IntelliJ를 사용하여 디버깅하려는 Spring MVC 프로젝트가 있습니다.
컨트롤러 코드에 중단 점을 설정하면 적절한 위치에서 디버그가 중지됩니다. 그 특정 줄에는 다른 빈에 더 많은 내 코드가 있습니다. 코드를 입력하고 싶습니다. 중단 점 리거 직후에 "들어가면"Spring의 AOP 프레임 워크 코드로 들어갑니다.
동일한 중단 점과 "스마트 스텝 인"을 즉시 트리거하면 소스 파일의 -1 줄에 놓이게됩니다 (위의 그래픽 참조). -1이 의미하는 것은 무엇입니까? 다시 "스마트 스텝 인 (smart step into)"을 수행하면 원래 중단 점 다음 줄에 도착하지만 들어가고 싶은 메서드 내부에 배치 된 적이 없습니다.
나는 Spring AOP 패키지를 디버거 설정에 넣는 것을 시도했다 Do not step into the classes . 그러나 결국 트랜잭션 클래스와 다른 여러 클래스를 입력해야했습니다. 결국 나는 모든 Spring을 목록에 넣고 SLF4J와 일부 JDBC 드라이버를 넣었다.
"강제 단계"와 같은 것을 사용하지 않는 한 IntelliJ가 내 프로젝트 소스 코드에서만 중지되도록하려면 어떻게해야합니까?
현재는 Visual Studio의 'Just My Code' 와 같이 사용자 코드 만 대상으로하는 전체 옵션이 없습니다 .
동일한 동작을하는 가장 좋은 방법은 '단계적'으로 들어 가지 않을 특정 코드 클래스 또는 패키지 (와일드 카드를 통해 클래스 패키지에 대한 필터 패턴을 설정할 수 있음)를 제외하는 것입니다.
이것은 내에서 달성 할 수 설정 / 환경 설정 에, 스테핑 / 디버거 옵션을.
Spring의 AOP 는 최악의 범죄자 중 하나 일 수 있습니다.
OP는 이미이 작업을 수행했다고 제안했지만 다음은 지정된 클래스로의 스테핑을 비활성화하는 방법입니다 (IntelliJ ULTIMATE 2018.2).
File
-> Settings...
-> Build, Execution, Deployment
-> Debugger
->Stepping
...- Do not step into the classes
> Add Pattern
->Enter the filter pattern:
... ... org.springframework.aop.*
통지 는하지 않도록 전체 네임 스페이스에 와일드 카드를 사용할 수 있도록 예를 들어,와 조직의 네임 스페이스의 시작은 가정 - com
당신이 블랙리스트에 의한 방법이 대부분을 얻을 수 있습니다 org.*
.
IntelliJ ULTIMATE 2018.3 사용 File
-> Settings
-> 다음과 같이 '단계'검색 :
"Ultimate 2019.1"의 또 다른 방법 (이전 버전에서도 가능) :
지금 디버깅 할 때 "Debugger"- "Frames"뷰에서 클래스를 마우스 오른쪽 버튼으로 클릭 할 수 있습니다. 그런 다음 "스테핑 필터 추가 ..."를 선택하고 해당 클래스에 대해 새 단계 필터를 추가 할 수 있습니다. 물론 여기에서 자리 표시 자 "*"등을 사용하여 새 단계 필터를 변경할 수도 있습니다.
참고 URL : https://stackoverflow.com/questions/20575107/how-to-force-intellij-to-only-step-into-my-source-code
'programing' 카테고리의 다른 글
PhantomJS 및 node.js로 웹 페이지 저장 및 렌더링 (0) | 2020.12.09 |
---|---|
Android 휴대폰에서 네트워크 활동 모니터링 (0) | 2020.12.09 |
Webpack : 플러그인 순서가 중요합니까? (0) | 2020.12.09 |
dotnet publish가 올바른 앱 설정을 게시하지 않습니다. {env.EnvironmentName} .json (0) | 2020.12.08 |
공개 키 인증은 어떻게 설정합니까? (0) | 2020.12.08 |