abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 04:44 | IT novinky

    U příležitosti 30. výročí vydání počítačové hry Quake byla vydána nová epizoda s názvem Dawn of the Machine (Steam).

    Ladislav Hagara | Komentářů: 0
    včera 16:00 | Bezpečnostní upozornění

    Vládní CERT upozorňuje (𝕏) na sérii bezpečnostních záplat (CVSS 9.9) v produktech Cisco řešících kritické zranitelnosti umožňující obejití autentizace, eskalaci oprávnění, vzdálené spuštění kódu a odepření služby. Úspěšné zneužití může útočníkům umožnit získat neoprávněný přístup k dotčeným systémům, kompromitovat zařízení Cisco Catalyst SD-WAN a Cisco IOS XE, spustit libovolný kód, zpřístupnit citlivé informace nebo narušit dostupnost postižených systémů.

    Ladislav Hagara | Komentářů: 2
    včera 15:33 | IT novinky

    Soud v americkém státě Nové Mexiko ve čtvrtek nařídil internetové společnosti Meta Platforms zaplatit 567 milionů dolarů (téměř 12 miliard Kč) za újmy, které její platformy působí mladým lidem. S přihlédnutím k dřívějšímu verdiktu tak má společnost celkem zaplatit 942 milionů dolarů, což je malý zlomek jejího ročního výnosu, který loni činil 60 miliard dolarů. Čtvrteční verdikt firmě také nařizuje, aby změnila způsob, jakým její

    … více »
    Ladislav Hagara | Komentářů: 8
    včera 12:44 | Humor

    Mark Russinovich (CTO v Microsoft Azure) se na LinkedIn pochlubil svým projektem MS Paint Doom napsaným pomocí Claude. Hru Doom umožňuje hrát v programu Malování (Microsoft Paint). Malování funguje jako monitor. Herní engine (ViZDoom) běží na pozadí a každý vykreslený snímek hry vkládá automaticky přes schránku (clipboard) do Malování.

    Ladislav Hagara | Komentářů: 2
    6.8. 08:00 | IT novinky

    Platformy ChatGPT i Roblox by mohly být zařazeny na seznam mimořádně velkých on-line platforem nebo internetových vyhledávačů, na něž se vztahují zvláštní podmínky podle nařízení o digitálních službách (DSA). Vzhledem k tomu, že ChatGPT i Roblox oznámily počet uživatelů nad prahovou hodnotou DSA, je toto označení „rozhodně možné“ a mohlo by „přijít dříve či později“. On-line platformy a vyhledávače zařazené na seznamy DSA musejí

    … více »
    Ladislav Hagara | Komentářů: 9
    5.8. 17:00 | Zajímavý software

    Společnost Cloudflare představila Cloudflare OS (GitHub), tj. open source platformu navrženou pro integraci umělé inteligence (agentů) přímo do pracovních procesů organizací.

    Ladislav Hagara | Komentářů: 0
    5.8. 12:44 | Nová verze

    Byla vydána nová verze 5.13 svobodného multiplatformního softwaru pro konverzi a zpracování digitálních fotografií primárně ve formátů RAW RawTherapee (Wikipedie). Vedle zdrojových kódů je k dispozici také balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo ke spuštění a spustit.

    Ladislav Hagara | Komentářů: 0
    4.8. 20:44 | Zajímavý článek

    Jean-Baptiste Kempf na svém blogu představil novou verzi 9.0 "Lei" kolekce svobodného softwaru umožňujícího nahrávání, konverzi a streamovaní digitálního zvuku a obrazu FFmpeg (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    4.8. 20:11 | Komunita

    Richard Hughes oznámil, že službu Linux Vendor Firmware Service (LVFS) umožňující aktualizovat firmware zařízení na počítačích s Linuxem, nově sponzoruje také společnost NVIDIA.

    Ladislav Hagara | Komentářů: 0
    4.8. 12:22 | Zajímavý software

    Edvard Rejthar na blogu zaměstnanců CZ.NIC představil svou aplikaci SlideRshow (GitHub). Funguje jako prohlížeč fotek, ale i jako jejich organizér a prezentátor. Neinstaluje se, běží přímo v prohlížeči. Bez serveru. Offline.

    Ladislav Hagara | Komentářů: 11
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (2%)
     (18%)
     (30%)
     (6%)
     (6%)
     (2%)
     (15%)
     (23%)
    Celkem 2344 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: gdb problem pri trasovani

    6.3.2008 00:43 depka
    gdb problem pri trasovani
    Přečteno: 369×
    zdravim, snazim se debugovat tento kus kodu:
        
         38 void FileDictionary::activate()
         39 {
         40         index.clear();
         41         std::ifstream f(INDEX_FILENAME);
         42         if (f.is_open())
         43         {               
         44                 ***string line;
         45                 std::string temp;
         46         gulong pos;
         47         while(std::getline(f, temp, '\t') >> pos)
         48         {
         49             line = temp;
         50             index.insert(std::pair<****ustring, gulong>(line,pos));     
         51                         f.ignore();
         52         }
         53         }
         54         else
         55                 exit(1);
         56         
         57         fdictionary.close();
         58         fdictionary.open(DICTIONARY_FILENAME);
         59         if (!fdictionary.is_open())
         60                 exit(1);
         61 }
    
    
    

    nastavim breakpoint na zacatku funkce, a pokracuju prikazem next, jenze gdb me skoci do hlubin STL(index.clear()) a dalsim nextovanim nakonec vyskoci az na 60 radku(kod pred 60 radkem ani netrasuje)
    jeste prikladam vypis gdb:
    $ gdb program
    GNU gdb 6.6-debian
    Copyright (C) 2006 Free Software Foundation, Inc.
    GDB is free software, covered by the GNU General Public License, and you are
    welcome to change it and/or distribute copies of it under certain conditions.
    Type "show copying" to see the conditions.
    There is absolutely no warranty for GDB.  Type "show warranty" for details.
    This GDB was configured as "i486-linux-gnu"...
    Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
    (gdb) break file-dictionary.cpp:40
    Breakpoint 1 at 0x804fdc2: file file-dictionary.cpp, line 40.
    (gdb) run
    Starting program: program 
    [Thread debugging using libthread_db enabled]
    [New Thread -1232501056 (LWP 19194)]
    [Switching to Thread -1232501056 (LWP 19194)]
    
    Breakpoint 1, FileDictionary::activate (this=0x80c2200) at file-dictionary.cpp:41
    41              std::ifstream f(INDEX_FILENAME);
    (gdb) next
    696             _M_impl._M_node_count = 0;
    (gdb) next
    693             _M_leftmost() = _M_end();
    (gdb) next
    695             _M_rightmost() = _M_end();
    (gdb) next
    446           _M_streambuf(0), _M_ctype(0), _M_num_put(0), _M_num_get(0)
    (gdb) next
    574           basic_istream(): _M_gcount(streamsize(0)) { }
    (gdb) next
    446           _M_streambuf(0), _M_ctype(0), _M_num_put(0), _M_num_get(0)
    (gdb) next
    574           basic_istream(): _M_gcount(streamsize(0)) { }
    (gdb) next
    446           _M_streambuf(0), _M_ctype(0), _M_num_put(0), _M_num_get(0)
    (gdb) next
    574           basic_istream(): _M_gcount(streamsize(0)) { }
    (gdb) next
    446           _M_streambuf(0), _M_ctype(0), _M_num_put(0), _M_num_get(0)
    (gdb) next
    574           basic_istream(): _M_gcount(streamsize(0)) { }
    (gdb) next
    443           : __istream_type(), _M_filebuf()
    (gdb) next
    445             this->init(&_M_filebuf);
    (gdb) next
    497             if (!_M_filebuf.open(__s, __mode | ios_base::in))
    (gdb) next
    498               this->setstate(ios_base::failbit);
    (gdb) next
    144           { this->clear(this->rdstate() | __state); }
    (gdb) next
    248           { return _M_file.is_open(); }
    (gdb) next
    42              if (f.is_open())
    (gdb) next
    60                      exit(1);
    (gdb) 
    
    
    

    Odpovědi

    6.3.2008 01:17 Messa | skóre: 39 | blog: Messa
    Rozbalit Rozbalit vše Re: gdb problem pri trasovani
    Možná se jedná o exit na řádku 55 a ne 60. (Nějak se mi nechce věřit že by to gdb nerozeznal, ale já se v tom moc neorientuji a proto nevím, jestli je číslo řádku uloženo v binárce nebo ho gdb nějak odhaduje.) Taky je divný, že ten breakpoint se nastavil prakticky až na řádek 41, ale to je už jiný problém :-)

    Navrhované řešení - rozliš ty dva exity od sebe nějak. A vůbec, jak to že exituješ a přitom ani neřekneš uživateli, proč? :-)
    6.3.2008 08:30 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: gdb problem pri trasovani
    Kompiluješ s optimalizáciou (napr. -O2)? Ak áno, skús ju vypnúť.
    6.3.2008 08:43 dementni.lojzik | skóre: 19 | blog: ze zivota na vsi
    Rozbalit Rozbalit vše Re: gdb problem pri trasovani
    jj, presne tak, takto se to obvykle chova, kdyz je zapnuta otimalizace
    6.3.2008 09:35 depka
    Rozbalit Rozbalit vše Re: gdb problem pri trasovani
    a muzete me poradit jak se to dela pri pouzivani autoconfu a automake? uz sem to zkousel nastavenim promenne prostredi CFLAGS="-g -O0" ale pri komopilace jsem stejne videl v seznamu parametru gcc -O2
    6.3.2008 09:42 Ivan
    Rozbalit Rozbalit vše Re: gdb problem pri trasovani
    ./configure CXXFLAGS='-O0 -fno-inline -ggdb3' LDFLAGS='-Bsymbolic'

    CFLAGS jsou pro Ccko CXXFLAGS jsou pro C++ a CPPFLAGS jsou pro preprocessor
    6.3.2008 09:43 qk_
    Rozbalit Rozbalit vše Re: gdb problem pri trasovani
    Dulezity je posledni parametr tedy kdyz bude -O2 a za nim -O0 tak se jede pres -O0. Pri autotools je nejlepsi si udelat volbu neco jako --enable-debug, ktery zapne debugovani (typicky -DDEBUG a -O0 -g). A pro c++ zdrojaky zkus misto CFLAGS pouzit CPPFLAGS, zalezi jak je to udelany vevnitr toho scriptu.
    6.3.2008 09:45 qk_
    Rozbalit Rozbalit vše Re: gdb problem pri trasovani
    jj, nademnou je spravne CXX misto CPP (furt se mi to plete)
    6.3.2008 10:39 depka
    Rozbalit Rozbalit vše Re: gdb problem pri trasovani
    takze vypnout tu optimalizaci pomohlo, vsem dekuji.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.