Lazarus 3.2 (2024.02.28.)
Letöltés

  • Oldal:
  • 1

TÉMA:

Debugger Töréspontok 2016 ápr. 26 11:09 #1966

  • makgab
  • makgab profilkép Témaindító
  • Törzsgárda tag
  • Törzsgárda tag
  • Hozzászólások: 280
  • Köszönetek: 1
Igazad lesz.
Kösz az infót!

Debugger Töréspontok 2016 ápr. 26 10:39 #1965

  • Gábor
  • Gábor profilkép
  • Adminisztrátor
  • Adminisztrátor
  • Hozzászólások: 506
  • Köszönetek: 86
Amiket írtál azok lényegében függvénnyel olvasható tulajdonságok (tehát egy függvény fut le amikor rájuk hivatkozol). Ezekről írtam az előbb, lásd: GDB Debugger Tips - Inspecting data types .
Egy függvény futása közben sok mindent történhet (amit a programozó bele ír) mielőtt értéket adna vissza. Képzeld csak el mi történne ha szélsőséges példaként a TIOStream.Write vagy a TIOStream.Read függvény értékét szeretnéd kiíratni. Természetesen vannak/lehetnek az adatokat tekintve biztonságosnak minősíthető függvények is, de honnan tudhatná a hibakereső, hogy melyek azok?
Hogyan kérdezzünk okosan? / Mit kell tennünk kérdezés előtt? -- Lazarus 3.0 -- FPC 3.2-- GNU/Linux 5.15.0 x86_64

Debugger Töréspontok 2016 ápr. 26 08:30 #1964

  • makgab
  • makgab profilkép Témaindító
  • Törzsgárda tag
  • Törzsgárda tag
  • Hozzászólások: 280
  • Köszönetek: 1
Alapból "alapértelmezetten" van valóban. Bár sokkal nem jutottam előbbre, így (Dwarf) is csak azt mondja, hogy nincs ilyen komponens név, pl.:
bufDataSet1.FieldByName('value').AsFloat
bufDataSet1.FieldByName('value')
és a hasonlókra (Laz 1.6).

Debugger Töréspontok 2016 ápr. 26 07:45 #1963

  • Gábor
  • Gábor profilkép
  • Adminisztrátor
  • Adminisztrátor
  • Hozzászólások: 506
  • Köszönetek: 86
Nálam (Linux) egy egyszerű TStringList példány egy adott elemének (0) figyelése így működik:
Lista.FList[0].FString

A tulajdonságok figyelésénél fontos lehet a hibakeresési információk típusának megfelelő beállítása is. Az ajánlott beállítás a "Dwarf", melyet a menüből indulva a "Projekt / Projekt beállításai / Fordító beállításai / Hibakeresés / Hibakeresés" útvonalon ellenőrizhetsz. A "Hibakeresési infó típusa" listában a "Dwarf" legyen kiválasztva...
Továbbá a hibakereső jelenleg(?) nem tudja az olyan tulajdonságok értékeit elérni melyek nem közvetlenül adatra hivatkoznak (például függvénnyel olvashatók), ilyenkor érdemes felkutatni a megfelelő private deklarációt (lásd a fenti példámat).
Hogyan kérdezzünk okosan? / Mit kell tennünk kérdezés előtt? -- Lazarus 3.0 -- FPC 3.2-- GNU/Linux 5.15.0 x86_64

Debugger Töréspontok 2016 ápr. 25 10:22 #1962

  • makgab
  • makgab profilkép Témaindító
  • Törzsgárda tag
  • Törzsgárda tag
  • Hozzászólások: 280
  • Köszönetek: 1
Nem töréspont bocsi! :) Hanem "Add watch".

Debugger Töréspontok 2016 ápr. 25 10:21 #1961

  • makgab
  • makgab profilkép Témaindító
  • Törzsgárda tag
  • Törzsgárda tag
  • Hozzászólások: 280
  • Köszönetek: 1
Üdv!
Tömböket hogyan lehet debuggolni? Delphi-ben ez működött.
Pl.:
FDoc.Items[ i ].Name // string

Add watch után futáskor error-t ír:
FDoc.Items[ i ].Name
FDoc.Items[1].Name

A Stílus átállítása nem segített.

  • Oldal:
  • 1