Debug & Testing
GDB (GNU Debugger)
- Cài đặt:
sudo apt install gdb
- Compile với debug symbol:
g++ -g main.cpp -o app
- Chạy:
gdb ./app
- Lệnh phổ biến:
break main, run, next, print var, bt (backtrace)
CMake
- Tạo file
CMakeLists.txt đơn giản:
cmake_minimum_required(VERSION 3.10)
project(MyApp)
add_executable(main main.cpp)
- Build:
mkdir build && cd build → cmake .. → make hoặc cmake --build
GoogleTest
- Clone từ GitHub:
git clone https://github.com/google/googletest.git
- Dùng CMake để build & link:
# CMakeLists.txt
cmake_minimum_required(VERSION 3.10)
project(MyTest)
add_subdirectory(googletest)
include_directories(googletest/include)
add_executable(runTest test.cpp)
target_link_libraries(runTest gtest gtest_main)
#include <gtest/gtest.h>
TEST(SampleTest, BasicAssertion) {
EXPECT_EQ(1 + 1, 2);
}
int main(int argc, char **argv) {
::testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}
clang-tidy: Kiểm tra code style và bug tiềm ẩn.
cppcheck: Phân tích mã nguồn C++ để phát hiện lỗi.
valgrind: Phát hiện memory leak và các truy cập bộ nhớ sai.