이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 21677|회답: 0

[출처] 위챗 공식 계정 개발 VS 원격 디버깅

[링크 복사]
게시됨 2017. 1. 4. 오후 1:09:44 | | | |
위챗 공개 플랫폼 메시지 인터페이스의 작동 원리는 대략 다음과 같이 이해할 수 있습니다: 사용자가 위챗 서버에 메시지를 보내면, 위챗 서버는 사용자가 접속할 때 입력된 URL에 받은 메시지를 게시합니다. 원리는 이해하기 쉽고, 소켓에 노출되어 있다면 더 이해하기 쉽습니다.

사실 위챗 개발은 그리 어렵거나 어렵지 않고, 공식 문서도 통과할 만합니다(위챗 결제 문서보다 수백 배는 더 좋지만), 가장 고통스러운 것은 디버깅입니다. 위챗 개발 과정에서 사용자는 위챗이 보내는 메시지를 받기 때문입니다. 처리 프로그램은 위챗의 서버이기 때문에 디버깅이 매우 고통스럽습니다. 우리는 지점을 방해할 수 없고, 오직 텍스트 파일만 사용해 프로그램 동작을 확인할 수 있습니다. 처음에 저처럼 코드를 외부 네트워크 서버에 배포한 뒤 공식 계정으로 메시지를 보내고, 디버깅 파일을 확인해 수정해야 할 부분을 찾아 코드를 수정한 뒤 ............ 서버에 DLL을 업로드하는 그런 작업이 있을지 모르겠습니다. 이런 작업은 시간 낭비이고 비효율적입니다.
이 글은 원격 디버깅과 원격 디버깅에 대한 입문서입니다

IIS 구성
1단계 IIS 구성
IIS로 가서 URL을 클릭하고 웹사이트를 선택한 후, 창 오른쪽에 있는 편집 웹사이트에서 Binding을 클릭하세요. 이미지에 보이는 대로입니다.
웹사이트 바인딩 창에 들어가 바인딩을 편집하거나 추가하면 IP를 선택 해제할 수 있고, 호스트네임이 그림과 같이 땅콩 껍데기 도메인 이름을 작성합니다:
정보를 입력한 후 확인을 클릭하여 IIS 구성을 완료합니다.

VS 구성
2단계 VS 구성
프로젝트를 열고 웹 프로젝트를 선택한 후 우클릭 후 속성(Properties)을 선택하세요.
웹에 접속해 서버 열에서 IIS Express(X) 옵션을 제거하고, 프로젝트 URL의 IIS 묶음 도메인 이름을 채우세요. 즉, Peanutshell에서 제공한 도메인 이름입니다. 그림에 보이는 대로 http:// 도 추가하는 것을 잊지 마세요:
설정이 완료된 후에는 Ctrl+S를 눌러 저장하세요. 설정이 일시적으로 완료되는 것과는 다릅니다.

원격 디버깅 구성
3단계 원격 디버거 구성
제 환경은 win7+vs2012인데, 설정 과정이 조금 다를 수 있지만 개인적으로는 비슷하다고 생각합니다.
먼저, 사진에 보이는 Visual Studio 도구를 찾아보세요:
열면 원격 디버거 폴더 바로가기를 찾아서 시스템에 따라 x86 또는 x64를 선택한 뒤 더블 클릭으로 열면 됩니다.
msvsmon.exe을 찾아서 우클릭한 후 관리자 권한으로 실행하세요. 도표에 보시다시피 달리기 후:
도구, 옵션을 선택하고, 인증 없음을 선택한 뒤, 디버깅을 위해 Any User 실행을 선택한 뒤 확인 버튼을 누릅니다
디버거 설정이 완료되었습니다.

디버깅 시작
4단계 디버깅 시작
VS에서 디버그를 선택하고 프로세스에 부착하세요
전송 열에서 "Remote (No Authentication)"을 선택하고 로컬 IP 또는 호스트명을 입력한 후 오른쪽 하단의 새로고침을 클릭하세요.
새로 고침을 클릭한 후, 사용 가능한 프로세스 열에서 프로세스를 찾고w3wp.exe, 사용자 이름 열에 주목하세요. 디버깅하려는 웹사이트의 애플리케이션 풀을 확인하고, w3wp.exe 찾지 못하면 IIS로 가서 웹사이트를 열고, 새로 고침을 눌러 찾아보세요.
이 과정을 찾으면 더블 클릭으로 근처 안전 경고를 열고 첨부(Attach)를 선택하세요.
원격 시운전은 이미 가능합니다. 간단히 예시를 살펴보겠습니다.
위챗 공개 플랫폼에 들어가 개발자 센터에 들어가 서버 구성을 찾아 '설정 수정'을 클릭하세요.

최종 결과
URL과 토큰을 입력한 후 제출 버튼을 클릭하면, 디버그 모드에 원활하게 진입할 수 있는 흥미로운 시기가 왔습니다~~~~~
아주 고급스러워 보인다고 생각하세요? 어쨌든, 저는 이게 매우 고급스럽다고 생각합니다. 하하~~~~





이전의:MQTT APOLLO 서버 설정
다음:c# M2Mqtt 아폴로 MQTT 서버와의 연결 [소스 코드 포함]
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com