Çok sayıda değişkeni olan çok karmaşık maketlerle büyük bir eski kod kodum var. Bazen onları değiştirmem gerekiyor ve değişikliğin neden beklediğim gibi çalışmadığını anlamak çok zor. Bulmak istediğim, temelde "make" işleminin adım adım hata ayıklamasını yapan, bir dizin vereceğim ve farklı değişkenlerin farklı noktalardaki değerini görebileceğim bir araçtır. süreci. Hata ayıklama bayraklarının hiçbiri, ne istediğimi göstermek için görünmüyor, ancak bir şeyleri kaçırmam mümkün. Bunu yapmanın bir yolu var mı?Makale hata ayıklama aracı
cevap
make -n
ve make -np
ve make -nd
biggie'den çıkışa bakıyor muydunuz?
gmake
'un yeni geliştirilmiş bir sürümünü mi kullanıyorsunuz?
O'Reilly'nin sitesindeki "Managing Projects with GNU Make" (Amazon Link) için Debugging Makefiles adresindeki ücretsiz bölüme baktınız.
Tam olarak istediğiniz şeyi yapan belirli bir işaretin farkında değilim, ancak
--print-data-baseyararlı olabileceğine benziyor.
Eminim bu remake sizin için. anasayfasından
:
versiyonu GNU yamanmış ve modenize hata raporlama, anlaşılır bir biçimde yürütmesini izleme yeteneğini ve bir hata ayıklayıcı geliştirilmiş ekler yarar hale getirilmesidir.
Bu gdb benzeri bir arayüze sahip ve breakponts demektir (x) Emacs'ta vb saatler içinde mdb-modu tarafından desteklenmektedir Ve (x) emacs'ı itibaren
Eğer +100 ekleyebilirdim. Yeniden yüklemeyi kullanırken ('kurulum için yeniden yüklemeyi yükle'), yalnızca DISAPPEARED hata ayıklamak zorunda kaldım. Sorunun ne olduğu hakkında bir fikriniz yok ama kimin umurunda? :) – ishahak
beğenmediğiniz DDD var yapmak komut satırı seçenekleri man sayfası:
-n, --just-print, --dry-run, --recon
Print the commands that would be executed, but do not execute them.
-d Print debugging information in addition to normal processing.
The debugging information says
which files are being considered for remaking,
which file-times are being compared and with what results,
which files actually need to be remade,
which implicit rules are considered and which are applied---
everything interesting about how make decides what to do.
--debug[=FLAGS] Print debugging information in addition to normal processing.
If the FLAGS are omitted, then the behaviour is the same as if -d was specified.
FLAGS may be:
'a' for all debugging output same as using -d,
'b' for basic debugging,
'v' for more verbose basic debugging,
'i' for showing implicit rules,
'j' for details on invocation of commands, and
'm' for debugging while remaking makefiles.
oldukça yararlı görünüyor http://gmd.sf.net bir GNU yapmak ayıklayıcı projesi yoktur. Gmd tarafından desteklenen ana özellik, adım atmaktan daha kullanışlı olabilecek bir kesme noktasıdır. Bunu kullanmak için, gmd'yi http://gmd.sf.net ve gmsl'den http://gmsl.sf.net'dan indirin ve makefile'inizde 'include gmd' komutunu kullanın.
veya '-p' olarak diğer ad – sercxjo