Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: OpicakMurděj 23. 08. 2018, 20:52:12
-
Zdar jak sviňa!
Dělal jsem v Cčku (ne C++) kdysi dávno, teď potřebuji něco uplácat v Linuxu.
- Mám Linuxový server, kde to překládám v GCC
- Na linuxu nemám žádné Gui, Mám sice dobrou, ale Widlí stanici
- Hodně část knihoven nelze přeložit pod Widlema
A co mám za problém:
- V čem to psát? Rád bych nějaké napovídání syntaxe. Třeba upozornění, že mi někde chybí })" atd.
- Editor bych měl rád ve Windows.
- Největší průser, jak to debugovat, abych viděl, jaké hodnoty mám v té které proměnné?
Z projektu by mohly být nakonec i nějaké prašule, ale musí to mít nějakou štábní kulturu.
Debuger v GCC mi přijde hrozně těžkopádný.
Nechci měsíc studovat debuger, potřebuji se soustředit na problém.
Jako nechci psát něco ve smyslu "ZLATÝ C#", ale zlatý C#.
Co s tím kua?
-
Chceš vyvíjet ve Windows ale zároveň něco tak závislého na linuxovém prostředí, že nemá smysl uvažovat nad multiplatformnim vyvoji? To je docela neprůchodné no. Nejjednodušší budeš mít prostě doma rozjet VirtualBox a jet v tom.
Ale jestli chceš něco jako visual studio tak good luck. Čekej, že ti sem odpoví pár rozohněných individuií co považují IDE za slepou vývojvou uličku a práci s primitivními nástroji jako znak tvrďáka programátora.
-
Zozenies si poriadne Widle, najlepsie 7 zube.. ale aj tie 10 zube sa daju...
a) Na svojom super-gcc-linuxovom stroji si nazdielas (ak ti to dovoluje) sambu alebo donutis windows aby pouzival rsync.
T.j. zdrojaky budes "pisat" /Napr Visual Studio Code/ na WIN, spravis sync na remote a kompilujes na Linuxe.
Na svojom uber-gcc-linuxovom stroji si spustis gdbserver ... z Windowsu sa cez GDB pripojis a debugujes.. nastavis sysroot, solid-paths, debug symbols a pod...
ab) Aby ti GDB nemuselo tahat vsetky libky a dependency, tak si na windowse spravis sysroot targetu, nastavis to do GDB a debugujes nasobne rychlejsie...
Debugujem takto jednu krasnu appku (cross compilacia, cross debug) a na 100mb linke to ide v pohode :). Dokonca to VSC je v pohode..
-
Teď to Murdějuji v PSpadu, což funguje, program má asi dva tisíce řádek v dvanácti modulech.
Nicméně to nabobtnalo a potřebuji to učesat.
Chci to zdebugovat, ošetřit hraniční hodnoty, deprasifikovat to.
Teoreticky by mi stačil možná debuger, který bude mít rozhraní jako midnighthcommander.
Pseudografické nebo jak se tomu nadává?
-
Nasdílej zdrojáky přes Sambu a kompilaci spouštěj třeba přes PuTTY.
-
https://github.com/cs01/gdbgui/
-
linuxovom stroji si spustis gdbserver ... z Windowsu sa cez GDB pripojis a debugujes..
Hustý, co že si to mám spustit na Widlích, abych to mohl debugovat přes GDBserver?
www.codeblocks.org to asi koukám umí viď?
Interfaces GNU GDB
-
Nasdílej zdrojáky přes Sambu a kompilaci spouštěj třeba přes PuTTY.
Nepotřebuji, když se to edituje přes WinSCP a PuTTY, kód se synchronizuje.
Funguje to vážně rychle.
-
https://github.com/cs01/gdbgui/
Hustý! Dík!
-
Teď to Murdějuji v PSpadu, což funguje, program má asi dva tisíce řádek v dvanácti modulech.
Nicméně to nabobtnalo a potřebuji to učesat.
Chci to zdebugovat, ošetřit hraniční hodnoty, deprasifikovat to.
Když už PSpad, tak to můžeš rovnou použít Vim přímo na tom serveru, ze kterého se to dá přímo kompilovat a debugovat.
BTW: Dva tisíce řádek ve dvanácti modulech? Takovou prkotinu můžeš psát v čemkoli.
-
Visual Studio 2017 podporuje programování pro Linux, je jen potřeba při jeho instalaci vybrat příslušný balíček.
Funguje to tak, že se při překladu (a zřejmě i spuštění v debuggeru) zdrojáky nakopírují
na linuxový server, kde se skrz gcc zkompilují a případně spustí. Myslím, že Visual Studio tam pak používá gdb, takže vás odstíní od "pekla příkazové řádky".
Má to samozřejmě své limity (ta podpora tam myslím není dlouho), ale úspěšně to používám pro ověření, že moje multiplatformní kódy jsou stále multiplatformní co se týče kompilace.
-
Visual Studio 2017 podporuje programování pro Linux, je jen potřeba při jeho instalaci vybrat příslušný balíček.
Funguje to tak, že se při překladu (a zřejmě i spuštění v debuggeru) zdrojáky nakopírují
na linuxový server, kde se skrz gcc zkompilují a případně spustí. Myslím, že Visual Studio tam pak používá gdb, takže vás odstíní od "pekla příkazové řádky".
Má to samozřejmě své limity (ta podpora tam myslím není dlouho), ale úspěšně to používám pro ověření, že moje multiplatformní kódy jsou stále multiplatformní co se týče kompilace.
Tak to jsem vubec netušil, to vypadá to zajímavě. Umí to i express verze?
-
Takovou prkotinu můžeš psát v čemkoli.
Taky jsem to napsal v PSpadu ;D
Visual Studio 2017 podporuje Linux
Jenže oni používají to jejich AI, jinými slovy tvůj kód jde někam pryč a pak zase zpět.
https://visualstudio.microsoft.com/cs/services/intellicode/
Microsoftu je do mojí práce houno.
Jestli se nepletu, tak tohle posílání kódu do čmoudu a zpět se dá vypnout jen u verzí PRO.
-
FYI:
Jsem objevil, že http://www.codeblocks.org/ to vzdálené debugování umí a dokonce u mí i vývoj na Widlows s kompilací na Linuxu.
http://wiki.codeblocks.org/index.php?title=Using_Xming_for_remote_compilation
Budu to muset vyzkoušet.
Ještě jedna věc, nějaký vizuální ksicht pro GDB ve stylu MidnightCommandera, kdybych se rozhodl, že to budu zatím dál patlat v PSpadu? (Který je mimochodem super užitečný.)
-
linuxovom stroji si spustis gdbserver ... z Windowsu sa cez GDB pripojis a debugujes..
Hustý, co že si to mám spustit na Widlích, abych to mohl debugovat přes GDBserver?
www.codeblocks.org to asi koukám umí viď?
Interfaces GNU GDB
CodeBlocks uz par let pouzivam, podle meho nazoru je to slusne propracovany multiplatomrni IDE pro C/C++ Bez mraku hovadin, ktere jsou tam jen na ozdobu a pro image jako treba v MS VS. Ma interface pro GDB, vcetne takovych veci jako je trasovani, sledovani hodnot promenych a pod. ( ale stejne bych ti doporucil - ze svych skusenosti - naucit se s GDB pracovat primo,jednak to neni tak slozite a jednak tak ziskas jeho plnou silu). Co je blbe, neumi (nebo o tom nevim) spolupracovat s autotools, nebo dokonce primo generovat aspon makefile, preklad projektu si ridi sam. V tomto je zas dobra Anjuta. Nicmene CodeBlocks projekt jako takovy lze (napr.) exportovat do cmake pravidel.
Jsou i dalsi:
Eclipse, Anjuta, KDevelop (ten je hodne rozsahly, na moje potreby az moc) atd.... staci hledat
Jinak IDE se hodi - dle meho skromneho nazoru - spis na rozsahlejsi projekty. Drobotinu delam rucne. Je to rychlejsi :)
-
Tak to jsem vubec netušil, to vypadá to zajímavě. Umí to i express verze?
Ano, Community verze, kterou lze považovat za nástupce Express, to umí.
Jenže oni používají to jejich AI, jinými slovy tvůj kód jde někam pryč a pak zase zpět.
https://visualstudio.microsoft.com/cs/services/intellicode/
Jestli to čtu správně, jedná se o rozšíření pro C# a Python, tedy ne pro C/C++. Navíc je to rozšíření, tzn. si můžete vybrat, zda jej chcete či nikoliv.
Našeptávání funguje v základu, ale netoleruje překlepy a nevyrovná se kvalitám Visual Assist X (ten je ale placený).
-
vscode ako editor + cpp plugin od ms pre intellisense a remote gdb + dokan pre mount disku cez ssh/alebo samba.
build system je na tebe a ja ho pustam na remote cez skript taktiez z vscode
-
https://www.jetbrains.com/clion/
-
Zkuste VisualDBG. Pouzivam nekolik let. Naprosta spokojenost. Je to placene ale maji tusim na mesic trial verzi.