# lv_assert.h (/api/public/debugging/lv_assert_h)



<ApiSummary macros="9" />

Macros [#macros]

<ApiMember kind="macro" name="LV_ASSERT_HANDLER" file="public/debugging/lv_assert.h" line="23" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/debugging/lv_assert.h#L23">
  LV_ASSERT_HANDLER [#lv_assert_handler]

  ```c title=" " lineNumbers=1
  #define LV_ASSERT_HANDLER while(1); /*halt by default*/
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_ASSERT_INTERNAL" file="public/debugging/lv_assert.h" line="43" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/debugging/lv_assert.h#L43">
  LV_ASSERT_INTERNAL [#lv_assert_internal]

  ```c title=" " lineNumbers=1
  #define LV_ASSERT_INTERNAL(expr, msg) \
      do { \
              if(!(expr)) { \
                  LV_LOG_ERROR("Assertion `%s` failed." msg, #expr); \
                  LV_ASSERT_HANDLER \
              } \
          } while(0)
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_ASSERT_FORMAT_INTERNAL" file="public/debugging/lv_assert.h" line="51" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/debugging/lv_assert.h#L51">
  LV_ASSERT_FORMAT_INTERNAL [#lv_assert_format_internal]

  ```c title=" " lineNumbers=1
  #define LV_ASSERT_FORMAT_INTERNAL(expr, format, ...) \
      do { \
              if(!(expr)) { \
                  LV_LOG_ERROR("Assertion `%s` failed." format, #expr, __VA_ARGS__); \
                  LV_ASSERT_HANDLER \
              } \
          } while(0)
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_ASSERT" file="public/debugging/lv_assert.h" line="67" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/debugging/lv_assert.h#L67">
  LV_ASSERT [#lv_assert]

  ```c title=" " lineNumbers=1
  #define LV_ASSERT(expr)
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_ASSERT_MSG" file="public/debugging/lv_assert.h" line="68" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/debugging/lv_assert.h#L68">
  LV_ASSERT_MSG [#lv_assert_msg]

  ```c title=" " lineNumbers=1
  #define LV_ASSERT_MSG(expr, msg)
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_ASSERT_FORMAT_MSG" file="public/debugging/lv_assert.h" line="69" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/debugging/lv_assert.h#L69">
  LV_ASSERT_FORMAT_MSG [#lv_assert_format_msg]

  ```c title=" " lineNumbers=1
  #define LV_ASSERT_FORMAT_MSG(expr, format, ...)
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_ASSERT_NULL" file="public/debugging/lv_assert.h" line="78" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/debugging/lv_assert.h#L78">
  LV_ASSERT_NULL [#lv_assert_null]

  ```c title=" " lineNumbers=1
  #define LV_ASSERT_NULL(p) \
      LV_ASSERT_INTERNAL(p != NULL, " NULL pointer");
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_ASSERT_MALLOC" file="public/debugging/lv_assert.h" line="84" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/debugging/lv_assert.h#L84">
  LV_ASSERT_MALLOC [#lv_assert_malloc]

  ```c title=" " lineNumbers=1
  #define LV_ASSERT_MALLOC(p) \
      LV_ASSERT_INTERNAL(p != NULL, " Out of memory");
  ```
</ApiMember>

<ApiMember kind="macro" name="LV_ASSERT_MEM_INTEGRITY" file="public/debugging/lv_assert.h" line="90" url="https://github.com/lvgl/lvgl/tree/e1a0ad863f29742359bc680d6a7d973448ec2285/include/lvgl/debugging/lv_assert.h#L90">
  LV_ASSERT_MEM_INTEGRITY [#lv_assert_mem_integrity]

  ```c title=" " lineNumbers=1
  #define LV_ASSERT_MEM_INTEGRITY() \
      LV_ASSERT_INTERNAL(lv_mem_test() == LV_RESULT_OK, " Memory integrity error");
  ```
</ApiMember>

Dependencies [#dependencies]

<FileIncludes includes="[&#x22;lv_conf_internal.h&#x22;, &#x22;lv_log.h&#x22;, &#x22;lv_mem.h&#x22;]" includedBy="[&#x22;lv_obj.h&#x22;, &#x22;lv_style.h&#x22;, &#x22;lv_check_arg.h&#x22;, &#x22;lv_color.h&#x22;, &#x22;lv_color_op.h&#x22;, &#x22;lvgl.h&#x22;]" transitiveIncludes="[&#x22;lv_types.h&#x22;]" />
