Debugging and Testing

In this chapter, you will learn how to properly test and debug your C++ applications. This is important because without good testing and debugging, it is highly likely that your C++ applications will contain hard-to-detect bugs that will reduce their overall reliability, stability, and security.

This chapter will start with a comprehensive overview of unit testing, which is the act of testing code at the unit level, and will also look at how to leverage existing libraries to speed up the process of writing tests. Next, it will demonstrate how to use the ASAN and UBSAN dynamic analysis tools to check for memory corruption and undefined behavior. Lastly, the chapter will conclude with a quick look at how to leverage the NDEBUG macro in your own code for adding debug logic when attempting to resolve issues.

This chapter contains the following recipes:

  • Getting to grips with unit testing
  • Working with ASAN, the address sanitizer
  • Working with UBSAN, the undefined behavior sanitizer
  • Using #ifndef NDEBUG to conditionally execute additional checks
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset