2011-12-07 26 views
5

Bir işaretçi döndüren bir işlev var:GDB'de bir kesme noktası ayarlama

statik void * find_fit (size_t asize);

Ben gdb bir kesme noktası ayarlamak istediğiniz, ama bu işlev adını yazın, ben bu hatalardan biri olsun:

molası * find_fit Fonksiyonu "* find_fit" tanımlı değil

veya

mola find_fit fonksiyonu "find_fit" Ben kolay bir işaretçi dışında bir şey döndüren bir fonksiyon üzerindeki kırılma noktası ayarlayabilirsiniz

tanımlanmamış ama işlev bir işaretçi döndürür ne zaman, gdb üzerinde kırmak istiyorum görünmüyor o.

Neler olup bittiğini gören var mı? Teşekkürler!

+0

Hangi dil? C? C++? – smparkes

+0

Üzgünüm. C++ kkkkkkkkkkkkkk – Alex

cevap

4

Bazı nedenlerden dolayı gdb, C++ adının doğru şekilde işlenmesini sağlamaz. Normalde bunun çalışması için herhangi bir şeye dokunmanız gerekmez. show language'u deneyebilirsiniz. Genellikle auto olarak ayarlanmıştır. Ayrıca set language c++ ile manuel olarak ayarlamayı deneyebilirsiniz.

sadece

b 'find<tab> 

yazabilirsiniz, test etmek (yani sekme karakteri karakter değil "<tab>" var) ve sizin için fonksiyonun adını otomatik tamamlamak için çalışmalısınız. C++'da işlevi tanımak için argüman türlerine gereksiniminiz vardır, ancak bu, gördüğünüz şeyle% 100 uyumlu değildir çünkü gdb'ye argüman olmadan bir işlev adı verirseniz, genellikle doğru olanı yaparsınız veya İstediğiniz bir fonksiyonun sürümü. Bunlardan birini görmüyorsun.

İlgili konular