Visual studio

Indította Sindyke21, 2018-01-01, 12:47:42

Sziasztok!

Boldog Újévet kívánok Mindenkinek!!!

Azt szeretném kérdezni hogy a kliens forrást megcsináltam,lefordította rendesen, csak a klienset nem indította el.
Esetleg ha valaki meg tudná mondani hogy hol ronthattam  el. Visual studio 2013 -as

Nagyon szépen megköszönöm.

Ha nem indítja el, akkor valami syssernek kell lennie, azt rakd fel ide.

Module Name: C:\Users\hello\Desktop\Valami\valami.exe
Time Stamp: 0x56c85a6d - (null)

Exception Type: 0xc0000005

eax: 0x00000001   ebx: 0x00000000
ecx: 0x05852000   edx: 0x00000000
esi: 0x2d0c7e30   edi: 0x0018e574
ebp: 0x0018c434   esp: 0x0018c41c

0x0043adab   C:\Users\hello\Desktop\valami\valami.exe
0x00526024   C:\Users\hello\Desktop\valami\valami.exe
0x00525ec1   C:\Users\hello\Desktop\valami\valami.exe
0x0055978a   C:\Users\hello\Desktop\valami\valami.exe
0x00556b7b   C:\Users\hello\Desktop\valami\valami.exe
0x00556a03   C:\Users\hello\Desktop\valami\valami.exe
0x005378f8   C:\Users\hello\Desktop\valami\valami.exe
0x0053603e   C:\Users\hello\Desktop\valami\valami.exe
0x0056d91d   C:\Users\hello\Desktop\valami\valami.exe
0x00567359   C:\Users\hello\Desktop\valami\valami.exe
0x1e0c0efb   C:\Users\hello\Desktop\valami\python22.dll
0x1e10ecea   C:\Users\hello\Desktop\valami\python22.dll
0x0399c350   
0x040785f8   
ez van benne!

Ilyen üzenetet olyan esetben produkál a kliens binary (mivel ezt a binary produkálja a saját belső forrás exception hiba naplózásával), amikor a forrás kódjában helytelen kivétel történik. Ez azt takarja, hogy mondjuk a kód a Visual Studio által helyesnek lett ítélve, így helyesen lefordul, de a kód éles működés alatt esetleg helytelen adatot ad át egy másik területnek. Ez leggyakrabban olyan dolog, amikor egy bizonyos adattípusú adatot egy eltérő adattípusú változónak esetleg funkciónak próbálunk továbbítani, és ezen belül leggyakrabban a char adattípusba helyezett string-nél jelenik meg.

Példa:

char * valtozo; //Ez egy char adattípusú változó deklarálás, amit később fogunk értékkel felruházni.
std::string valtozo2 = "Ez egy szöveg tadat."; // Ez egy string adattípusú változó deklarálás amiben már tárolunk értéket is.

valtozo = valtozo2;   //Nos itt látjuk, hogy a VS 13 elfogadja azt, hogy a char adattípusba string adattípusú adatot helyezzünk, tehát le fordul, de ez működés alatt hibát eredményez, ez a leggyakoribb hiba ami miatt a te fajta hiba üzeneted generálódik.


Erre a megoldás egyszerű és természetesen, ha nem éppen ilyen adattípusú esetben történik a hiba üzenet, nyilván tudod hogy hasonló képpen kell megoldani, tehát helyes adattípusra kell esetleg konvertálni az adatot, hogy az átadásnál egyezzen.

Szóval az előző példával élve a megoldás:

valtozo = valtozo2.c_str();  //Ezzel az eljárással "c_str()" a string adattípust konvertáljuk char adattípusra, hogy az egyezzen, így átadtuk a kívánt adatot, és hiba nélkül lefordul, valamint helyesen működik.



Remélem segítettem ezzel a kis útmutatóval, további kérdés esetén kérdezz bátran, ha esetleg én nem, akkor biztosan valaki tud segíteni. :)
Egy programozási nyelv akkor alacsony szintű, ha arra kényszeríti az embert, hogy az érdektelen dolgokra is odafigyeljen.

Nagyon szépen Köszönöm