GDB kullanarak bir işleve nasıl adım atılır, parametreleri değil

Dec 14 2020

Bildiğiniz gibi GDB'de step(s)komut ile bir fonksiyona geçebilirsiniz. Ancak önce sinceleyin ve işlevin parametrelerine adım atın. Örneğin aşağıdaki işlev için:

foo(bar(1));

içine adım atıyor foo, içeri giriyor barve sonra içine giriyor foo. Parametrelerin sayısı gittikçe arttığı anda parametrelere adım atmak sinir bozucu hale gelir. fooGDB'yi kullanarak doğrudan yürütmeye adım atmak ve parametrelerine adım atmayı atlamak mümkün müdür ?

İçin bir kesme noktası belirleyebileceğimi biliyorum foo:) Başka çözümler arıyorum.

Yanıtlar

KamilCuk Dec 14 2020 at 19:30

Bazı karmaşık aramalarla uğraşırken:

printf("%d %d\n", function(), next_function());

stepO çizgiye "giderim" ve sonra tek adım siatarım. Çağrılan ilk işleve tek adımda. Sonra yapabilirsiniz finishçıkmak ve sibir sonraki fonksiyonu içine tekrar.