Tutorial Profiling and Debugging

ASE WS 2022/23

In diesem Tutorial werden wir:

Achtung: Dieses Dokument unterstützt lediglich die Übung und ist keine vollständige Anleitung

Setup

Wir brauchen heute für die Beispiele eine simple Linux-Shell und ein paar Linux-Programme. Dafür kann man sich auch wie beim letzten Mal als Nutzer root auf einem 'disposable root server' via segfault.net einloggen.

ssh root@segfault.net # Password is 'segfault'

Achtung: Der Server ist nicht sicher - keine vertraulichen Infos/Passwörter dort eintippen

Oder: ich richte einen Account auf unserem Projektserver ein (bitte melden)

Alternativ kann man die Übungen auch in einer IDE der Wahl prinzipiell nachvollziehen.

Arten von Bugs

(siehe https://en.wikipedia.org/wiki/Software_bug#Types)

Weitere?!

Debugging-Fähigkeiten

Debugging-Strategien

Zur Frage: brauche ich einen Debugger?:

Debugging-Werkzeuge

Die folgenden Werkzeuge sind die Standard-Werkzeuge. Oft existieren auch bessere, neuere Alternativen

Aufgabe C++

Aufgabe Python

Requestly

Requestly ist eine Plattform (Webseite, Browser-Extension, Desktop-App) um HTTP-Requests aufzuzeichnen, umzuleiten oder zu modifizieren. Dadurch kann man schnell z.B. Probleme im Frontend-Code identifizieren / überpinseln.

Aufgabe