5. 개발환경(C#): Linux + Monodevelop

Linux 데스크탑에서 Monodevelop IDE를 이용해서 C# 으로 개발하는 방법을 설명합니다.

Important

Ubuntu 16.04 에서 서버가 실행되지 않는 문제가 있습니다. 아래 방법으로 Mono 를 업데이트 하시기 바랍니다. 추후 자동 업데이트 되도록 할 예정입니다.

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list
sudo apt-get update
sudo apt-get install mono-devel mono-complete

Important

현재 아이펀엔진 C#은 Flatpak버전의 MonoDevelop를 지원하지 않습니다.

5.1. 새 프로젝트 생성

명령행에서 다음과 같이 입력하여 hello 라는 서버 프로젝트를 생성합니다.

$ funapi_initiator hello --csharp

Important

Monodevelop IDE를 사용하기 위해서는 프로젝트를 반드시 C# 프로젝트 로 생성해야 합니다. 즉, 위의 예에서 --csharp 을 반드시 쓰셔야 됩니다.

5.2. Monodevelop 로 프로젝트 열기

  1. Monodevelop을 실행합니다.
_images/mono-1.png
  1. 좌측 상단의 파일 을 클릭 후 열기 버튼을 누릅니다.
_images/mono-2.png
  1. 프로젝트 내 mono 디렉토리에 있는 hello.csproj 혹은 hello.sln 파일을 엽니다. (프로젝트 이름이 hello 가 아닌 경우 {{ProjectName}}.csproj 혹은 {{ProjectName}}.sln 파일을 엽니다.)
_images/mono-3.png

프로젝트를 로드하는 모든 과정이 끝났습니다. 프로젝트가 열리게 되면 코딩을 시작하실 수 있습니다.

_images/mono-4.png

5.3. Monodevelop 로 빌드하기

특별한 설정 없이 Build 메뉴나 F8 버튼을 눌러 빌드를 하실 수 있습니다. 또한 프로젝트를 우클릭하여 Build, Rebuild, Clean 등의 기능을 활용할 수도 있습니다.

_images/mono-5.png

5.4. Monodevelop 로 디버깅하기

Mono에서 디버깅을 하기위해서는 Monodevelop IDEMono Soft Mode Debugger 기능을 이용하여 진행해야합니다.

5.4.1. Mono Soft Debugger 사용 설정

Mono Soft Debugger 기능을 활성화 하기 위해 환경 변수에 MONODEVELOP_SDB_TEST 값을 설정합니다. 아래 명령을 입력합니다.

$ echo "export MONODEVELOP_SDB_TEST=1" >> ~/.profile

해당 내용이 진행 되고 나면 로그아웃했다가 다시 로그인하거나 재부팅하여 해당 내용을 적용합니다. 환경 변수가 설정 되었는지 확인은 아래와 같이 하실 수 있습니다.

$ echo $MONODEVELOP_SDB_TEST
1

이제 Monodevelop 을 실행하여 상단의 Run With 의 하위 메뉴를 확인합니다. Custom Command Mono Soft Debugger 를 클릭합니다.

_images/mono-10.png

Listen 을 클릭합니다. 여기까지 Monodevelop IDE에서 설정은 끝입니다. Monodevelop IDE는 이제 디버깅을 대기하는 상태입니다.

_images/mono-11.png

이제, 게임 서버를 실행시켜 디버거에 연결합니다. 다음과 같이 입력합니다.

$ ./hello/mono/bin/Debug/buildcpp/hello-local --mono_debug

아래와 같이 디버깅 과정을 진행됩니다.

_images/mono-12.png