본문 바로가기

전체 글

(264)
android adb를 이용한 native bug tracking (Android Debug Bridge 사용법) native 코드를 사용하는 android앱 개발 중 앱 crash 가 발생 하며 해당 앱이 강제 종료되었고 LogCat에는 다음과 같이 남아 있었다 ??? 마지막찍혀있는 로그는 특정 클래스의 소멸자 로그로 더 이상 추적이 불가능한 상황이였다 C++로 되어진 Native 코드를 라이브러리로 참조하기에 디버깅도 불가능했다 방법을 찾아보던중 adb를 이용해서 BugReport를 받아 볼 수 있다는걸 알게 되었다 우선 adb는 보통 SDK설치 경로쪽에 존재하는데 나처럼 android studio에서 함께 설치되었다면 [해당 디스크]\Users\[사용자명]\AppData\Local\Android\Sdk\platforms-tools 이 경로에 adb.exe파일이 있을것이다 커맨드 명령어를 사용해야 하는데 해당경로..
windows 10, 11 환경 변수 등록(adb.exe 환경 변수 등록하기) 커맨드 명령어로 실행되는 것들은 꼭 그 exe의 해당경로를 찾아가기 번거로운것들이 많다 환경변수에 등록해두면 어느 경로에서든 실행 할 수 있어 편하다 이번엔 Android Debug Bridge인 adb를 등록해보기로 하자 1) 윈도우 검색창에서 "환경 변수" 검색 2) 환경 변수 클릭 3) 시스템변수에서 "Path"를 찾은 뒤 편집을 누르고 새로만들기 입력 4) 위 adb.exe가 있는 path까지만 입력해 준다 5) 그 후 커맨드 창(명령 프롬포트)에서 adb를 치면 찾을 수 없다는 내용이 아닌 사용법이 나오게 된다 환경 변수 등록도 참 편해졌다 세미콜론 붙이고 시스템 설정에서 찾아들어가고 했었는데..
세계일보] 카카오페이, 업계 최초 법적 효력 갖춘 '모바일 원본증명' 서비스 제공 카카오페이가 국내 핀테크 업계 최초로 내용증명 효력을 가진 ‘모바일 원본증명’ 서비스 제공에 나선다고 13일 밝혔다. ‘모바일 원본증명’은 카카오페이가 제공하는 ‘전자문서 유통증명서’를 통해 전자문서의 송신·수신·열람 이력 정보를 증빙할 수 있는 서비스다. https://www.segye.com/newsView/20221213512341?OutUrl=nate 카카오페이, 업계 최초 법적 효력 갖춘 ‘모바일 원본증명’ 서비스 제공 카카오페이가 국내 핀테크 업계 최초로 내용증명 효력을 가진 ‘모바일 원본증명’ 서비스 제공에 나선다고 13일 밝혔다. ‘모바일 원본증명’은 카카오페이가 제공하는 ‘전자문서 유통증명 www.segye.com
fatal signal SIGTRAP (NDK debugging error) 안드로이드 NDK연동 테스트 중 에러가 발생하며 앱이 강제 종료되었다 Fatal stgnal 5 (SIGTRAP), code 1 (TRAP_BRKPT), fault addr 0x7 ~~~블라블라 뭔소린지 하나도 모르겠다 디버그 모드로 돌려보면 더 많은 정보가 나오려나 하고 디버그로 돌려봤다 이제 익숙한 함수명이 나온다 가상 상위의 콜스텍을 보면 GetExecutableName()이란 함수쪽에 문제가 있단걸 알 수 있다 확인해보니 C++ 네이티브 코드쪽에 ifdef으로 OS별 로직 분기를 해놨는데 안드로이드에서 return을 타는 로직이 없었기에 발생한 것이였다 간단하게 #else return 추가 후 해결 완료.. 간단한건데 참 JDK를 사용할 땐 에러코드 메세지가 너무너무 불친절하다 그래서 원인 찾는데..
노컷뉴스] PASS 앱에 '운전면허증' 이어 모바일 '주민등록증' 탑재된다 PASS 주민등록증 모바일 확인서비스는 △편의점 등 일상 생활에서 성년자 여부 확인 △국내선 공항 탑승 수속 △여객터미널에서 선박 탑승권 구매 및 탑승 시 신분 확인 △주민센터 등 관공서에서 민원서류 접수 및 자격을 인정하는 증서 발급 시 신분 확인 △사인 간 계약이나 거래 시 본인 여부 확인 등에서 실물 주민등록증과 동일하게 사용할 수 있다. https://www.nocutnews.co.kr/news/5846385 PASS 앱에 '운전면허증' 이어 모바일 '주민등록증' 탑재된다 SK텔레콤과 KT, LG유플러스 등 국내 이동통신 3사는 주민등록법 제25조에 따라 기존 실물 주민등록증과 동일한 신분확인 효력을 갖는 행정안전부의 '주민등록증 모바일 확인서비스'를 패스(PASS)앱 www.nocutnews.c..
DLL 명시적 링크 LoadLibrary failed 지정된 모듈을 찾을 수 없습니다 (GetLastError : error code 126) c++을 이용해서 명시적링크로 DLL파일을 LoadLibrary 로 읽어오는 작업을 했다 HINSTANCE hDLL; // Handle to DLL hDLL = LoadLibrary("MyDLL"); 핸들 인스턴스를 만들고 LoadLibaray를 호출 할 때 다른 폴더에 있는 DLL파일의 절대경로를 읽어와서 파라미터로 넣어주었는데 핸들은 계속 nullptr이였고 DWORD error_code; error_code = GetLastError();​ 위와 같이 GetLastError 를 호출 해 봤더니 126의 에러코드를 발생하고있었다 126은 모듈을 찾을 수 없다는 내용인데 해당 DLL파일의 절대경로는 윈도우 탐색기로부터 파일을 선택해서 넣은 값인데 이게 잘못될 수 없는데...? 다른 DLL을 읽어보니 정..
2022년 3분기 개발자 회고록 1. 회사🏢 주 업무는 Delphi를 c++로 마이그레이션 하는 작업을 진행했고 제법 고생했다 C++이 익숙하지 않은것 + CMake 처음써봄 + 크로스 컴파일 환경이라 WINAPI나 외부 라이브러리 사용에 상당히 제한됨 진짜 뭐 하나 하려고 해도 이래저래 한참 검색해보고 사용 할 수 있나 보고 하다보면 안드로이드 환경에선 사용안되는 라이브러리 라던가... WINAPI를 제외하곤 특정기능에 대한 정보가 거의 없다던가... CMake도 관련 정보가 너무 없고 오직 공식페이지만 보면서 하려니 힘들었다 딱 상황에 맞는 예제 받아먹기에 익숙해져 버린것 같다 최근 구글링하며 한글 블로그는 거의 본적 없는것 같다.. 이참에 영어 리딩실력이라도 늘리려고 번역기 안쓰고 읽는 연습을 하는데 그러자 구글링 속도가 확연히 ..
c++ wstring to string / string to wstring 몇몇 오래된 API를 쓰다보면 유니코드 문자 타입을 써야 할일이 종종 있다 타입변환 방법은 여러가지가 있지만 최신 C++스럽게 변환해보자(작성당시 c++17버전 사용 + winapi사용안함) - wstring to string (LPCWSTR to LPCSTR) - string to wstring (LPCSTR to LPCWSTR ) #include std::string WstrToStr(const std::wstring& source) { return std::string().assign(source.begin(), source.end()); } std::wstring StrToWstr(const std::string& source) { return std::wstring().assign(source...