JPBlanc
JPBlanc

Reputation: 72670

ESP32 : Keep breaking on SIGTRAP while debugging "ESP Async WebServer" with JTAG ESP-PROG

I'am using Visual Code, with PlatformIo to write a kind of pseudo Rest server using "ESP Async WebServer"

The code seams to work, when I upload it and test it as usal with serial port. But when I try to debug it with my JTAG ESP_PROG, it keeps running into a pseudo breaking point :

Thread 
8 "async_tcp" received signal SIGTRAP, Trace/breakpoint trap.
2
Info : [esp32.cpu0] Target halted, PC=0x40092612, debug_reason=00000001
AsyncWebServer::_rewriteRequest (this=<optimized out>, request=0x3ffd18ac) at .pio/libdeps/az-delivery-devkit-v4/ESP Async WebServer/src/WebServer.cpp:107
107      if (r->match(request)){

Here is my platformio.ini file

[env:az-delivery-devkit-v4]
platform = espressif32
board = az-delivery-devkit-v4 
framework = arduino
;monitor_speed = 115200
debug_tool = esp-prog
upload_protocol = esp-prog
debug_init_break = tbreak setup
debug_speed = 20000
;build_type = debug
;debug_build_flags = -O0 -g -ggdb


lib_deps = 
    ESP Async WebServer 
    bblanchon/ArduinoJson@^7.0.4
    esphome/ESPAsyncWebServer-esphome@^3.1.0
    esphome/AsyncTCP-esphome@^2.1.3

And my code look like this (where SerialDebug is an empty function now):

void setup() {
    //Serial.begin(115200);
    WiFi.begin(ssid, password);
    while (WiFi.status() != WL_CONNECTED) {
        delay(1000);
        SerialDebug("Connecting to WiFi ...");
    }
    SerialDebug("Local IP : %s",  WiFi.localIP().toString());

    // Configuration des routes
    server.on("/login", // La route
              HTTP_POST, // La méthode  (GET, POST, PUT, DELETE, etc.)
              NULL, // [](AsyncWebServerRequest *request){} : Une fonction ou une lambda iciqui est appelée lorsque la route correspondante
                    // est accédée avec la méthode HTTP spécifiée (Pour les requêtes GET simples).
              NULL,  // Gestionnaire de chargement de fichier nécessaire ici.
              OnLogin); // Fonction  Pour les méthodes comme POST ou PUT,
                        // où la requête peut inclure un corps (par exemple, des données JSON),
                        // ce gestionnaire permet de traiter ces données. Il est appelé avec les données du corps, la longueur de ces données,
                        // et d'autres informations pertinentes pour permettre leur traitement.

    server.on("/get_nb_core", //  route
              HTTP_POST, // La méthode  (GET, POST, PUT, DELETE, etc.)
              NULL, //[](AsyncWebServerRequest *request){}, // Une fonction ou une lambda iciqui est appelée lorsque la route correspondante
                                                     // est accédée avec la méthode HTTP spécifiée (Pour les requêtes GET simples).
              NULL,  // Gestionnaire de chargement de fichier nécessaire ici.
              OnGetNbCore); // Fonction  Pour les méthodes comme POST ou PUT,
                            // où la requête peut inclure un corps (par exemple, des données JSON),
                            // ce gestionnaire permet de traiter ces données. Il est appelé avec les données du corps, la longueur de ces données,
                            // et d'autres informations pertinentes pour permettre leur traitement.


    server.begin();
}

void loop() {
    
}

Upvotes: 0

Views: 122

Answers (1)

JPBlanc
JPBlanc

Reputation: 72670

I stop receiving Sigtrap while debuging removing a library :

[env:az-delivery-devkit-v4]
platform = espressif32
board = az-delivery-devkit-v4 
framework = arduino
;monitor_speed = 115200
debug_tool = esp-prog
upload_protocol = esp-prog
debug_init_break = tbreak setup
debug_speed = 20000
build_type = debug
debug_build_flags = -O0 -g -ggdb


lib_deps = 
    ;ESP Async WebServer 
    bblanchon/ArduinoJson@^7.0.4
    esphome/ESPAsyncWebServer-esphome@^3.1.0
    esphome/AsyncTCP-esphome@^2.1.3

Not sure to understand why.

Upvotes: 0

Related Questions