728x90
저번 글에서 얼추 오류를 잡았다고 생각해서 다음과 같이 명령을 차례로 실행해서 경로 탐색 서버를 만들어 볼까 합니다.
osrm-extract.exe --with-osm-metadata -p C:\DEV\GIS\OSRM\osrm-backend\profiles\car.lua C:\DEV\GIS\OSRM\Backend_Exec\data\seoul-non-military.osm.pbf
osrm-contract.exe C:\DEV\GIS\OSRM\Backend_Exec\data\seoul-non-military
osrm-routed.exe C:\DEV\GIS\OSRM\Backend_Exec\data\seoul-non-military.osrm
결과도 뭐 깔끔하게 끝난 것 같고, 파일도 많이(?) 생성 되었습니다 하하...
탐색 서버 실행
그럼, 탐색 서버를 실행해 보겠습니다.
osrm-routed.exe C:\DEV\GIS\OSRM\Backend_Exec\data\seoul-non-military.osrm
결과는
디버깅 메시지를 보고 짐작하건데...프로그램이 진심으로 메모리가 없어서 메시지를 이렇게 뿌린게 아니겠다 싶네요....
[2024-11-27T11:46:44.167788] [warn] [exception] std::bad_alloc
[2024-11-27T11:46:44.167863] [warn] Please provide more memory or consider using a larger swapfile
VSCode 로 디버깅해보기
지루한 디버깅 시간이 왔습니다아~~
VSCode 를 열고 다음과 같이 lauch.json 파일을 만들어 주었습니다.
{
"version": "0.2.0",
"configurations": [
{
"name": "Debug Extract OSRM",
"type": "cppdbg",
"request": "launch",
"program": "C:\\DEV\\GIS\\OSRM\\osrm-backend\\build\\osrm-extract.exe", // 빌드된 실행 파일 경로
"args": [
"-p",
"C:\\DEV\\GIS\\OSRM\\osrm-backend\\profiles\\car.lua",
"C:\\DEV\\GIS\\OSRM\\Backend_Exec\\data\\seoul-non-military.osm.pbf"
],
"stopAtEntry": false,
"cwd": "C:\\DEV\\GIS\\OSRM\\osrm-backend", // 작업 디렉토리 경로
"environment": [],
"externalConsole": true, // 디버깅 시 콘솔을 별도로 열기
"MIMode": "gdb", // GDB 디버거 사용
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"miDebuggerPath": "C:\\DEV\\SDK\\msys64\\clang64\\bin\\gdb.exe", // MSYS2의 GDB 경로 설정
//"preLaunchTask": "Make Build", // 디버깅 전에 빌드 작업을 실행
//"miDebuggerArgs": "run -p C:\\DEV\\SDK\\msys64\\home\\User\\osrm-backend\\profiles\\car.lua C:\\DEV\\GIS\\OSRM\\Backend_Exec\\data\\south-korea-latest.osm.pbf ", // GDB 인수
//"miDebuggerArgs": "--cd=${workspaceRoot}",
"logging": {
"moduleLoad": false,
"programOutput": true,
"engineLogging": false
}
},
{
"name": "Debug Contract OSRM",
"type": "cppdbg",
"request": "launch",
"program": "C:\\DEV\\GIS\\OSRM\\osrm-backend\\build\\osrm-contract.exe", // 빌드된 실행 파일 경로
"args": [
"C:\\DEV\\GIS\\OSRM\\Backend_Exec\\data\\seoul-non-military"
],
"stopAtEntry": false,
"cwd": "C:\\DEV\\GIS\\OSRM\\osrm-backend", // 작업 디렉토리 경로
"environment": [],
"externalConsole": true, // 디버깅 시 콘솔을 별도로 열기
"MIMode": "gdb", // GDB 디버거 사용
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"miDebuggerPath": "C:\\DEV\\SDK\\msys64\\clang64\\bin\\gdb.exe", // MSYS2의 GDB 경로 설정
//"preLaunchTask": "Make Build", // 디버깅 전에 빌드 작업을 실행
//"miDebuggerArgs": "run -p C:\\DEV\\SDK\\msys64\\home\\User\\osrm-backend\\profiles\\car.lua C:\\DEV\\GIS\\OSRM\\Backend_Exec\\data\\south-korea-latest.osm.pbf ", // GDB 인수
//"miDebuggerArgs": "--cd=${workspaceRoot}",
"logging": {
"moduleLoad": false,
"programOutput": true,
"engineLogging": false
}
},
{
"name": "Debug Route OSRM",
"type": "cppdbg",
"request": "launch",
"program": "C:\\DEV\\GIS\\OSRM\\osrm-backend\\build\\osrm-routed.exe", // 빌드된 실행 파일 경로
"args": [
"C:\\DEV\\GIS\\OSRM\\Backend_Exec\\data\\seoul-non-military.osrm"
],
"stopAtEntry": false,
"cwd": "C:\\DEV\\GIS\\OSRM\\osrm-backend", // 작업 디렉토리 경로
"environment": [],
"externalConsole": true, // 디버깅 시 콘솔을 별도로 열기
"MIMode": "gdb", // GDB 디버거 사용
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"miDebuggerPath": "C:\\DEV\\SDK\\msys64\\clang64\\bin\\gdb.exe", // MSYS2의 GDB 경로 설정
//"preLaunchTask": "Make Build", // 디버깅 전에 빌드 작업을 실행
//"miDebuggerArgs": "run -p C:\\DEV\\SDK\\msys64\\home\\User\\osrm-backend\\profiles\\car.lua C:\\DEV\\GIS\\OSRM\\Backend_Exec\\data\\south-korea-latest.osm.pbf ", // GDB 인수
//"miDebuggerArgs": "--cd=${workspaceRoot}",
"logging": {
"moduleLoad": false,
"programOutput": true,
"engineLogging": false
}
}
]
}
Debug Route OSRM을 선택해 주면 되겠죠.
뭐... 역시나, 파일을 읽어 들일 때 헤더 초기화가 안되었던 부분이 있어서 그랬던 것 같습니다.
드디어 일단 경로서버를 실행하는 데 성공 했습니다.
이상.
728x90
'프로그래밍 > GIS' 카테고리의 다른 글
[경로탐색] 경로 탐색 프론트-엔드 개발하기 (1) | 2024.11.28 |
---|---|
[Windows] OSRM 경로 서버 구축 - 서울 (0) | 2024.11.27 |
[Windows] OSRM 실행하기 - osrm-extract (0) | 2024.11.27 |
[실패] OSRM 실행하기 - 오류 해결 (0) | 2024.11.23 |
Chat gpt 와 함께 OSRM 빌드해보기 - 디버그모드 (1) | 2024.11.22 |