Windowsiin on olemassa aivan mainio debuggeri: Borland Turbo Debugger
Käyttöliittymä on selkeä, ja ei ole jumittelutaipumusta.
Samaa on intergoituna IDE:en myös Delphissä (windowsiin) ja Kylix3:ssa (Linuxiin).
Valitettavasti Kylix3 on vuodelta 2002, ja uudempia Kylixejä ei ole eikä tule.
Eli käytännössä: nyky -linuxeissa ei Kylix3 toimi.
Saiskohan edes rahalla jostakin linuxille debuggerin, jonka käyttöliittymä olisi tasoltaan vähintään yhtä helppokäyttöinen ja selkeä kuin Turbo Debugger for Windows sekä Kylix3:n tai Delphin integroitu debuggeri ?
Linuxin oma gdb on käyttöliittymältään suoraan helvetistä, ja myös kaupallinen IDA Pro on sekin ankea verrattuna Borlandin tuotteisiin.
Tuo IDA Pro:han siis toimii windowsissa, mutta sen mukana tulee linuxohjelma, joka voidaan käynnistää linux -koneessa, ja sitten lähiverkon yli windows -koneelta käsin debugata linuxkoneessa ajettavaa ohjelmaa.
Mutta em. Borlandin tuotteisiin (Turbo Debugger, Delphi, Kylix3) IDA Pron käyttöliittymä on todella sekava.
Eikö linuxohjelmien debuggaukseen tosiaan saa edes rahalla kunnollista ohjelmaa?
Itse koodaustakin harkitsin.... valitettavasti tämäkin vaihtoehto on helöpommin sanottu kuin tehty:
1. Jos pohjalla jkäyttää gdb:n MI (machine interface) -liittymää, niin onpahan harvinaisen sekava ja lisäksi se on "subject to change" eli kun gdb:stä tulee uusi versio, ohjelma joka on suunniteltu aiemman gdb:n kanssa yhteentoimivaksi, ei välttämättä enää toimi ilman isoja muutoksia. Ei hyvä !
2. Jos unohtaisi koko gdb:n ja tekisi homman itse suoraan, niin:
linuxin kernelistä toki löytyy jotain debuggaustukea. Mutta linux ELF -tiedostosta ei kyllä ainakaan helposti pysty kaivamaan esille debugdataa, eli esim. muuttujien osoitteita, nimiä, kokoja ja tyyppejä, kuten ei myöskään lähdekooditiedosto/rivinumero vs. konekieliosoite -vastaavuustaulukoita ; ns "symbol table".
Jos vielä debugattava ohjelma on GUI -ohjelma, niin vielä hankalammaksi asian tekee se, että xwindow huolii kutsuja vain 1 säikeestä kerrallaan, ja tämä saattaa aiheuttaa koko koneen jumiutumisen siihen kuntoon, että remote-login esim. putty:llä ja sieltä koneen buuttaus voi olla ainoa mikä tehoaa virtakytkimen lisäksi!
Tuossa mielessä siis IDA Pro:n konsepti, jossa vain debuggerin ydinosat ovat linux -koneella ja käyttöliittymä lähiverkon kautta windows -koneella olisi mainio ratkaisu, mutta IDA Pro:n toteutus onkin sitten surkea.
Siispä: löytyykö parempia, myös maksulliset kelpaavat ?
Käyttöliittymä on selkeä, ja ei ole jumittelutaipumusta.
Samaa on intergoituna IDE:en myös Delphissä (windowsiin) ja Kylix3:ssa (Linuxiin).
Valitettavasti Kylix3 on vuodelta 2002, ja uudempia Kylixejä ei ole eikä tule.
Eli käytännössä: nyky -linuxeissa ei Kylix3 toimi.
Saiskohan edes rahalla jostakin linuxille debuggerin, jonka käyttöliittymä olisi tasoltaan vähintään yhtä helppokäyttöinen ja selkeä kuin Turbo Debugger for Windows sekä Kylix3:n tai Delphin integroitu debuggeri ?
Linuxin oma gdb on käyttöliittymältään suoraan helvetistä, ja myös kaupallinen IDA Pro on sekin ankea verrattuna Borlandin tuotteisiin.
Tuo IDA Pro:han siis toimii windowsissa, mutta sen mukana tulee linuxohjelma, joka voidaan käynnistää linux -koneessa, ja sitten lähiverkon yli windows -koneelta käsin debugata linuxkoneessa ajettavaa ohjelmaa.
Mutta em. Borlandin tuotteisiin (Turbo Debugger, Delphi, Kylix3) IDA Pron käyttöliittymä on todella sekava.
Eikö linuxohjelmien debuggaukseen tosiaan saa edes rahalla kunnollista ohjelmaa?
Itse koodaustakin harkitsin.... valitettavasti tämäkin vaihtoehto on helöpommin sanottu kuin tehty:
1. Jos pohjalla jkäyttää gdb:n MI (machine interface) -liittymää, niin onpahan harvinaisen sekava ja lisäksi se on "subject to change" eli kun gdb:stä tulee uusi versio, ohjelma joka on suunniteltu aiemman gdb:n kanssa yhteentoimivaksi, ei välttämättä enää toimi ilman isoja muutoksia. Ei hyvä !
2. Jos unohtaisi koko gdb:n ja tekisi homman itse suoraan, niin:
linuxin kernelistä toki löytyy jotain debuggaustukea. Mutta linux ELF -tiedostosta ei kyllä ainakaan helposti pysty kaivamaan esille debugdataa, eli esim. muuttujien osoitteita, nimiä, kokoja ja tyyppejä, kuten ei myöskään lähdekooditiedosto/rivinumero vs. konekieliosoite -vastaavuustaulukoita ; ns "symbol table".
Jos vielä debugattava ohjelma on GUI -ohjelma, niin vielä hankalammaksi asian tekee se, että xwindow huolii kutsuja vain 1 säikeestä kerrallaan, ja tämä saattaa aiheuttaa koko koneen jumiutumisen siihen kuntoon, että remote-login esim. putty:llä ja sieltä koneen buuttaus voi olla ainoa mikä tehoaa virtakytkimen lisäksi!
Tuossa mielessä siis IDA Pro:n konsepti, jossa vain debuggerin ydinosat ovat linux -koneella ja käyttöliittymä lähiverkon kautta windows -koneella olisi mainio ratkaisu, mutta IDA Pro:n toteutus onkin sitten surkea.
Siispä: löytyykö parempia, myös maksulliset kelpaavat ?
Vastaukset 11
Vanhimmat
Löytyyhän GDB:lle vaikka mitä käyttöliittymiä..
http://en.wikipedia.org/wiki/GDB
toi ny varmaan tarkotti jotain sellasii missä klikkaillaan hiirellä ja muuta hömppää.. ei siis pelkkää "konsoli" rojua ja "outoja Emacs juttuja...
:D
ja sellaisia hömppiä mkar justiin tarkotti. Ddd on huomattavasti mukavampi kuin pelkkä gdb =)
enpä ole noita kokeillut.. pelkkää perliä nykyisin koodaillessa ei tuollaisia oikeintarvii.. oma debug riittää :)
mut jos totta puhutaan niin linuxiin ei saa yhtään niin "pätevää"/helppoa debuggeria kuten mikä löytyy MS visual studiosta...
tai jos olen väärässä niin kerro ihmeessä mistä sen löydän :) no en kyllä edes tarvitse nykyisin mutta kuitenkin..
enkä nyt tarkoita mitään ns. graafista kikkaretta linuxissa joka on oikeasti ihan hirveä ja vaikea muutenkin käyttää..
oikeastaan kaipaisin IDE:n jossa voi naputtaa koodit ja tehdä myös kaikki graafisen hommelin ja debuggauksen samassa köntissä(HELPOSTI)..
joo.. ei erikseen mitään virityksiä vaan ihan oikean yhden ainoan sydeemin.. jos selainen on niin kerro toki.. otan heti käyttöön..(kunhan pääsen eroon tästä perl hässäkästä) :D
voin tietysti olla väärässäkin, kun en ihan noita kaikkia ole testannut.. kokeilen kyllä, mutta epäilen kyllä kaiken "helppoutta" :D
En ole ikinä löytänyt pakottavaa tarvetta debuggerille. Sitä kun aloittaa softan kirjoittamisen niistä testeistä eikä säästele asserttia niin eipä siinä mitään debuggeria kaipaa.
Perlistä ja delphistä en tiedä, mutta esim. javaa on helppo debugata vaikka eclipsellä.. myös linuxissa
melkoinen guru olet kun et ole tarvinnut.
minä ainakin tarvitsen joskus jopa ihan yksinkertaisiin asioihin :S
en edes kyseenalaista. en ole kokeillut, mutta tuskin se kuitenkaan on ihan täysiverinen kehitysympäristö, joka toimii yhtä hyvin kuin visual studio :)
vaikka olenkin mikkis kielteinen ihan viimeiseen asti niin tuosta ne on mielestäni saaneet aikaiseksi ihan mukavan paketin.
varsinkin jos vertaa osaan linuxissa olevista räpellyksistä.
jotenkin koen sen eri_ohjelma_joka_vitun_asialle hieman negatiivisena asiana :)
no kunhan kiukuttelen...
"jotenkin koen sen eri_ohjelma_joka_vitun_asialle hieman negatiivisena asiana :)"
Pienten osien debuggaus on paljon helpompaa kuin jonkin mammuttisoftan. Eikö tuosta ole hyvänä esimerkkinä Mozilla vs. Firefox/Icedove/Kompozer jne.
että mitä yrität sanoa?
sitä ei edes tarvitse ;)
(voiko pellempää alan miestä enää löytää...)