안녕하세요. 까막입니다.
지난 포스팅에 이어 MSVS 2013 -> MSVS 2019 로 개발 환경을 옮기면서 발생한 2번째 문제입니다.

해당 환경에서 MSVS 2019 로 옮기면서 컴파일러 버전 업 및 옵티마이저 이득을 약간 얻고자 + 
MSVS 2013 기술지원이 종료되었는지 업데이트도 않되고 해서 변경을 진행했습니다.

현상
전체 빌드 프로젝트가 좀 크고 여러개여서 인지는 모르겠지만 전체 빌드 혹은 덩치 큰 플젝 빌드할 경우
윈도우가 파란 화면을 뛰우는 경우가 자주 발생하더군요.

관련 글들
https://developercommunity.visualstudio.com/t/multiple-times-a-day-a-blue-screen-when-working-in/274372

 

multiple times a day a blue screen when working in VS ...

We have 6 identical HP Z440 workstations with a Intel XEON E5-2630 V3 and 64 GB memory in our company for the developers we use all visual studio 201...

developercommunity.visualstudio.com

https://docs.microsoft.com/en-us/answers/questions/342963/visual-studio-2017-crashes-after-every-run-into-a.html

 

Visual Studio 2017 crashes after every run into a blue screen of death - Microsoft Q&A

 

docs.microsoft.com

결론
위와 관련된 자료들을 취합하여 여러가지 방법을 수행하여 보았으나 
최종적으로 윈도우의 페이징 파일을 자동 관리에서, 요청 크기 2배 이상으로 늘린 후 더 이상 현상이 발생하지 않네요.

결론적인 내용이지만 툴이 빌드할 때 페이징 파일을 사용하는지 생각보다 크게 늘어 있었구요
자동 확장되면서 무슨 문제가 생기는게 아닌가 라는 그런 의심만 남은 상태입니다. 

저같은 경우는 자동 상태에서 약 11GB 쓰고 있었는데, 40 GB로 확 늘려 버린 이후로는 약 1주일째 현상이 없네요.

 

PS. 조금 오래된 글들에 첨부된 이미지와 파일들이 모두 깨져 있네요.
       참고 자료 형태로 글을 남기는 곳인데, 저렇게 다 깨져 있어서 ㅡㅜ 
       시간이 될 때 마다, 조금씩 복구 해 보도록 하겠습니다. 

 

안녕하세요. 까막임돠~


Microsoft Visual Studio 를 이용하여 프로젝트를 생성하면, 프로젝트 폴더에

각종 더미성 파일들이 생성되지요.


이러한 파일이나 폴더를 한쪽에 몰아서, 소스 폴더를 깔끔하게 관리하는 방법은

인터넷에 많이 있는데, 가끔 까먹어서 자료로 남겨 봅니다.


아래는 MSDN을 참조하여, 파일 확장자 및 내용에 대한 정리를 한것 이구요.


주황색 비끄무리한 색은 아래 방법으로 처리합니다.

폴백 경로를 지정하지 않으면 %TEMP% 경로에 저장되구요, 물리 경로를 지정하면 해당 경로에 생성됩니다.


녹색 비슷한 색은 아래 방법으로 처리합니다.

Configuration 별로 모두 설정해야 합니다. 경로는 원하는 경로에 몰아서 처리 해주시면 됩니다.

(아래의 예시 경로는 다수의 프로젝트가 다중 depth 로 있어서, 상대 경로로 처리해준것 입니다.)

(상대 경로, 절대 경로 모두 사용할 수 있습니다.)


프로젝트를 위와 같은 방법으로 정리하면, 디버깅관련 파일과 각종 OBJ 파일들이 몽땅 다른 곳에 저장되기 때문에

프로젝트 폴더에는 빌드에 꼭 필요한 파일만 남게되어 소스관리툴 등과 연동할 때 편리합니다.



PS. 만약에 실행파일만 다른 경로에 모아서 관리하고 싶다면 다음과 같은 설정을 해주셔야 합니다.

우선 링커 옵션에 Output File 에 실행파일 경로을 넣어주시고요. (물론 Configuration 별로 다 해주셔야 하지요.)


실행파일 경로를 옮기면 디버거가 해당 위치를 못찾을 수 있기 때문에, 아래와 같이, 변경된 경로를 적어 주셔야 합니다.


안녕하세요. 까막입니다.

이번에 겪은 일이 있어, 혹시나 다른 분들도 이런일로 당황하시지 않았으면 하는 바램에 몇자 적어봅니다.

(배포 패키지 수행중에 서버 PC가 자동으로 재부팅이 되어 버리더군요 @.@)


현재 작업하는 제품은 Visual Studio 2013 커뮤니티 에디션으로 작성을 하고 있고요, 언어는 VC++ 입니다.

제품을 패키지화 해서 배포할 때는 아래의 vc redistributable package 를 함께 배포하죠.


Visual C++ Redistributable Packages for Visual Studio 2013



해당 배포 패키지는 위의 그림에서 보시는 것 처럼 몇가지 설치 옵션을 제공합니다.

(해당 옵션은 /? 파라미터로 확인 가능합니다.)


이러한 패키지는 설치하고자 하는 머신에 이미 설치되어 있을 수도 있고, 설치 과정에서

구지 사용자가 일일이 첵크하면서 확인할 필요가 없기 때문에 저는 /quiet 옵션으로 패키지를 구성하였습니다.


설명에도 나와있지만 /norestart 옵션을 구성하지 않는 이상, 장치를 재부팅 할 때는 prompt 하도록 되어있지요.

(/norestart 옵션을 구성하면, 재 부팅을 완전히 막아버리기 때문에 재 부팅에 관한 프롬프트가 아예 안나오겠지요)


여기서 장치를 재부팅한다는 의미는 업데이트를 해야하는데, 쓰기가 금지되었거나 사용중이거나 lock 되어서

업데이트는 필요하지만 지금은 업데이트를 할 수 없으니, 예약 작업을 걸어두고 재시작 되면 자동으로 

업데이트를 진행한다는 의미입니다.


이번 버전의 문제인지 저 /quiet 옵션으로 패키지를 수행하면, 업데이트 필요시 어떠한 프롬프트 없이

자동으로 서버를 재시작 해버립니다. 

(기존 버전은 /q 옵션을 쓰더라도 재시작 과정은 물어보았거든요..)

/quiet 옵션으로 설치 과정이 눈에 보이지 않기 때문에, 왜? 갑자기 꺼지는지 조차 알 길이 없습니다.


반응이 빠른 분은 강제 로그오프 과정중에 재빨리 취소할 수 있긴 하지만 아주 당혹 스럽습니다.


/quiet 옵션 대신에 /passive 옵션을 이용하시길 권장드립니다.


+ Recent posts