본문으로 건너뛰기
버전: Function-0.3.0

디버깅

함수를 빌드 후 서버에 배포하여 테스트하기 전에 뒤끝 SDK에서 파라미터를 보냈을 때 실행 결과가 어떻게 리턴될지 확인할 수 있습니다.
뒤끝 SDK에서 뒤끝펑션을 호출하는 방법은 해당 개발 문서에서 확인할 수 있습니다.

뒤끝펑션 개발 툴

정상적으로 디버깅을 진행하기 위해서는 반드시 뒤끝펑션 개발 툴이 설치되어 있어야 합니다.

VSCode C# 확장 설치

뒤끝 펑션은 CoreCRL을 통해 프로그램을 실행합니다.
이를 위해서는 VSCode 내부에 C# 확장이 설치되어있어야합니다.
image

디버깅 환경 설정하기


  1. 디버깅을 위해서는 먼저 debugConfig.json을 설정해야 합니다.

솔루션 탐색기에서 debugConfig.json을 확인합니다.

image


  1. debugConfig.json 파일을 설정합니다.

debugConfig.json

{
"clientAppId": "뒤끝 콘솔에서 발급받은 clientAppId",
"signatureKey": "뒤끝 콘솔에서 발급받은 signatureKey",
"packageName": "앱의 패키지 명. 빌드 할 프로그램의 패키지 명과 뒤끝 콘솔에 입력한 패키지 명과 디버깅 설정에 입력한 패키지 명이 모두 일치해야 합니다. ",
"authKey": "뒤끝 콘솔에서 발급받은 뒤끝펑션 인증키",

"testId": "디버깅을 실행할 테스트 ID. 커스텀 회원가입 혹은 뒤끝 콘솔에서 생성을 통해 실제로 존재하는 계정의 ID를 입력해야 합니다.",
"testPw": "테스트 PW. 위와 동일하게 실제로 존재하는 계정의 PW를 입력해야 합니다.",

"timeoutEnable": "false", // 디버깅 시 타임아웃 활성화 여부(string 문자열입니다. "true = 활성화")

// 뒤끝 펑션으로 전달할 파라미터
// content 내부의 값이 뒤끝 펑션으로 전달됩니다.
"content": {
// json 형태로(key-value 쌍 형태로) 값을 입력해야 합니다.
// 뒤끝 SDK에서 Param으로 호출할 값을 json 형태로 설정할 수 있습니다.
// 뒤끝 펑션 내부에서 아래 값을 Backend.Content 변수를 이용하여 json 형태로 불러올 수 있습니다.
"value": "HelloWorld!"
}
}

뒤끝펑션 인증키 발급받는 법은 시작하기 문서를 참고해 주세요.


  1. 디버깅을 수행합니다.

F5를 누릅니다.
또는 왼쪽 메뉴에 실행 버튼을 누른 후(Ctrl + Shift + D), BF Debug Tool을 실행시킵니다.
디버깅 가능한 툴은 다음과 같습니다.

  • BF Debug Tool(intergratedTerminal) : vscode 내에 존재하는 통합 터미널에서 디버깅을 진행합니다.
  • BF Debug Tool(externalTerminal) : 외부 cmd 창 또는 cli 창을 새로 생성하고 디버깅을 진행합니다.

image

디버깅 성공

정상적으로 디버깅 툴 실행에 성공하면 아래 그림과 같이 표시되게 됩니다.

  • BF Debug Tool(intergratedTerminal)일 경우

image

  • BF Debug Tool(externalTerminal)일 경우

image

디버깅 실패

debugConfig.json에 잘못된 값이 설정되어 있으면 아래와 같이 에러가 발생하게 됩니다.
붉은 글씨로 뒤끝펑션 실행에 실패한 이유가 표시됩니다.

image

errorCase

  • debugConfig.json의 값 중 필요한 키가 존재하지 않을 때
    Object reference not set to an instance of an object.

  • debugConfig.json의 값 중 null 혹은 공백인 값이 있을 때
    fail to read debugConfig.json: some flag is null or empty "debugConfig.json 내용을 출력"

  • Client App ID 가 잘못된 경우
    errorCode : BadUnauthroizedException | message : bad clientAppId, 잘못된 clientAppId 입니다.

  • Signature Key 가 잘못된 경우
    errorCode : BadUnauthroizedException | message : bad signatureKey, 잘못된 signatureKey 입니다.

  • 존재하지 않는 계정의 id를 입력한 경우
    errorCode : BadUnauthorizedException | message : bad customId, 잘못된 customId 입니다

  • 계정의 pw를 잘못 입력한 경우
    errorCode : BadUnauthorizedException | message : bad customPassword, 잘못된 customPassword 입니다