Je développe avec les smart pointers des librairies standards (C++17) et lorsque j'effectue du débogage pas à pas sur QtCreator (Qt 5.13.0, MinGW64bit GDB, Windows 10), j'entre dans le code de ces librairies standards.
Or cela n'est pas vraiment pratique parce que je perd le fil 'haut niveau' de mon application.

Par exemple pour un usage du smart pointer, je passe par les fichiers suivants
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 
// mon code de base 
std::shared<MyClass> ptr = createObject();
ptr->method(); // pour le débogage de cette ligne
 
// passe par shared_ptr_base.f dans la méthode
element_type*
operator->() const noexcept
{
  _GLIBCXX_DEBUG_PEDASSERT(_M_get() != nullptr);
  return _M_get();
}
 
// puis dans la méthode
element_type*
_M_get() const noexcept
{ return static_cast<const __shared_ptr<_Tp, _Lp>*>(this)->get(); }
};
 
// enfin dans la méthode
element_type*
get() const noexcept
{ return _M_ptr; }
 
// avant d'atteindre la méthode en question
MyClass::method()
{
 ...
}
Je trouve que c'est assez lourd à l'usage et cela me conduit d'appuyer frénétiquement sur le bouton 'Step Into [F11]' pour passer ses étapes qui me sont inutiles et a appuyer une fois de trop sur le bouton.

Je souhaiterais savoir comment configurer le debugger soit en limitant le parcours du code aux fichiers de mon projet, soit en excluant les fichiers que je ne souhaite pas parcourir.

Il y a bien une option dans QtCreator "Degogeur/Passer les trames connues en pas à pas" mais je ne trouve pas d'amélioration notable, même en redémarrant QtCreator. Je pense que cette fonctionnalité est uniquement pour passer les fichier moc de Qt.

Merci d'avance