[PR]Debuger

0

Muszę zdebugować dokładnie swoją aplikację a zakłedanie bkreakpointów na 600 lini kodu jest naprawde męczące, wyięc czy Znacie jąkiś dobry debuger (najlepiej jeśli by była w nim mozliwość śledzenia wartości zmiennych), byle był free?

0

W Delphi i BCB masz doskonały Debugger, ale oczywiście warunkiem jest pisanie kodu w jednym z tych środowisk.

0

SoftIce

polecam, jest na prawdę dobry

0

SoftIce

"Byle był Free" - SoftIce nie jest free.
Zakładając, że Windows jest free, to debug.exe z windowsa jest dostępny (ale wygodny to on nie jest).

0

prawda SoftIce nie jest free, ale przecież P2P do czegoś stworzono

0

Pisze byle był free, bo miałem niedawno okazje kupna kilku <font color="white">orginałów</span>, przez co kasa sie skończyła.

Debuger w delphi jest prawie idealny, tzn za kazdym razem musze się napisać żebym miał historię wartości zmiennej, poza tym chciałbym mieć możliwość sprawdzenia co wywołało daną procedurę (wywołania do niej to prawie 1/3 programu, a procka jak <font color="white">na razie</span> jest bezparametrowa).

jeszcze jak byście mogli to bardzo przydały by się jakieś linki do artów o optymalizacji czasu wykonywania operacji, mozliwaści pisania kodu który byłby "bezpieczniejszy" a dawał ten sam fekt co niezbyt bezpieczny (najlepiej z przykałdami) oraz linki do programów pomagających sledzić takie rzeczy jak np. wycieki pamięci (ang. memory leaks), bo wg. m.s.o. prog który zajmuje 6 MB w pamięci, a po skompilowaniu na dysku zajmuje tylko 1 mb ma pewne błędy konstrykcji i na 1005 jakieś wycieki pamięci

0

Aby zobaczyć jaka funkcja wywołała twoją funkcję użyj po prostu CallStack.
Aby mieć wartości zmiennych możesz użyć Watch lub LocalVariables. Jeżeli chcesz mieć historię użyj LogEvents i BreakPoints:
Ustaw BreakPoint w miejscu gdzie chcesz sprawdzać wartość zmiennej. Ustaw właściwości BreakPointa (RMB->Properties). Wyłącz zatrzymywanie (Advanced->Break odznacz), bo chyba nie chcesz, aby przerywało za każdym razem gdzie postawisz breaka. W EvalExpression wpisz nazwę zmiennej, jaką chcesz zapamiętywać (lub wyrażenie). I koniec. W każdym miejscu możesz tak zrobić. Aby sobie ułatwić pracę, możesz przyporządkować BreakPointy do jednej grupy. Będzie mniej roboty z wpisywaniem (włączanie i wyłączanie całych grup)

0

Dzięki zaqmałem. Jeszcze jedno: jak sprawdzić dokładnie właściwość Text danego TMemo (dynamiczny, prawie cały czas zmieniany)

0

Dzięki zaqmałem. Jeszcze jedno: jak sprawdzić dokładnie właściwość Text danego TMemo (dynamiczny, prawie cały czas zmieniany)

Nie rozumiem. Dajesz w Watch: NazwaMemo.Text i już widzisz. Jak jest dynamiczny, to do jakiejś zmiennej jest przyporządkowany, prawda?

0

No niezbyt do zmiennej, problem w tym że tych memosów może być i z 500, a nie mają konkretnej zmiennej, tylko są ustalame przez funkcję CurrentEditor (zwraca pierwszą kontrolkę na aktualnum tabie pagecontrola)

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0