c++ 웹 프레임워크 만들고 있는데, 핸들러를 람다로 던짐.
그런데 람다 안에 브레이크포인트가 안걸림.
템플릿으로 넘겨서 그런 것 같은데.
auto lambda = [](int a, int b) -> void
{
std::cout << a << " " << b << std::endl;
};
ROUTE("/abc",
[](int a, int b) -> void
{
std::cout << a << " " << b << std::endl;
});
람다 객체 (lambda)를 넘기면 람다 함수 내 cout에 브레이크포인트가 hit 되는데, 아래처럼 넘기면 안걸림...
그부분만 소스 보여줘 이해안됨
Route(const char *url, Handler handler) 이 함수의 handler에 람다를 넘김. Handler는 템플릿 파라미터임. 람다 객체를 만들어서 넘기면 걸리는데, 직접 넘기면 안걸림
VS씀?
vscode, gdb
gdb 대신 lldb 테스트 가능?
방금 해봤는데 같음. 둘 다 안걸림
Visual Studio 썻으면 걸렸다 ㄹㅇ ㅋㅋ
vs에서도 테스트해봐야하나... 브레이크포인트 안걸리는건 좀 문젠데 ㄹㅇ...
stdout으로 일일이 찍어보는수밖에..
걍 issue open하고 개발하던거나 마저 해야겠다
난 vs에서 안걸리던데
그게 왜 안걸림?
그래서 c++ 게임아조씨들이 람다쓰지마라는거잖음
release모드 말고 debug 모드에서도 안걸림?
ㅇㅇ 디버그모드임
-O0도 넣고 해봄