Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 06:08

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Access violation reading location 0xCCCCCCCC

Discussion on Access violation reading location 0xCCCCCCCC within the C/C++ forum part of the Coders Den category.

Reply
 
Old   #1
 
Whaaat?'s Avatar
 
elite*gold: 43
Join Date: Sep 2013
Posts: 161
Received Thanks: 27
Access violation reading location 0xCCCCCCCC

Hey
Ich hab ein Problem und zwar, bekomme ich immer eine Access violation an einem bestimmten Punkt in meinem Code weiß aber nicht warum. Das ganze war ne Aufgabe einer Challenge, nämlich das Pokerkarten verteilen.
Der Fehler hat mit meiner Variable val3 zu tun, was für mich wenig Sinn ergibt, da die anderen davor auch auf den gleichen Weg gut durchlaufen.
Außerdem wird val3 auch immer auf den Wert "3435973836" gesetzt, was die Größe einer "unsigned int" entspricht.
Code:
#include "stdafx.h"
#include <iostream>
#include <string>
#include <stdlib.h>

using namespace std;

int gen1()
{
	int v1 = rand() % 4 + 1;
	return v1;
}

int gen2()
{
	int v2 = rand() % 13 + 1;
	return v2;
}

int generate(int plrs)
{	
	int arr1[16];
	int arr2[16];
	int val1 = gen1();
	int val2 = gen2();
	int arr3[16];
	int arr4[16];
	int val3 = gen1();
	int val4 = gen2();

	string j = "Jack of ";
	string q = "Queen of ";
	string k = "King of ";
	string a = "Ace of ";
	string two = "2 of ";
	string three = "3 of ";
	string four = "4 of ";
	string five = "5 of ";
	string six = "6 of ";
	string seven = "7 of ";
	string eight = "8 of  ";
	string nine = "9 of";
	string ten = "10 of ";
	string dm = "Diamonds ";
	string sp = "Spades ";
	string cl = "Clubs ";
	string hr = "Hearts ";
	string number[13] = { a, two, three, four, five, six, seven, eight, nine, ten, j, q, k };
	string color[4] = { dm, sp, cl, hr };

	for (int z = 0; z < plrs; ++z)
	{
		for (int y = NULL; y < plrs * 2; ++y)
		{
			arr1[y] = val1;
			arr2[y] = val2;
			arr3[y] = val3;
			arr4[y] = val4;
			val1 = gen1();
			val2 = gen2();
			val3 = gen1();
			val4 = gen2();
		}
		for (int x = 0; x < 15; ++x)
		{
			if (arr1[x] == val1 && arr2[x] == val2)
			{
				val1 = gen1();
				val2 = gen2();
				x = 0;
			}

			if (arr3[x] == val3 && arr4[x] == val4)
			{
				val3 = gen1();
				val4 = gen2();
				x = 0;
			}
		}
		cout << number[val2] << color[val1] << endl << number[val4] << color[val3] << endl;

	}




	return(0);
}

int main()
{
	int plrcnt;
	cout << "How many players are playing?(2-8)\n";
	cin >> plrcnt;
	generate(plrcnt);

}
Fehlercode:
Code:
First-chance exception at 0x0F387EA6 (msvcp120d.dll) in whateverdafuq.exe: 0xC0000005: Access violation reading location 0xCCCCCCCC.
Unhandled exception at 0x0F387EA6 (msvcp120d.dll) in whateverdafuq.exe: 0xC0000005: Access violation reading location 0xCCCCCCCC.
PS: Ja der Code ist wahrscheinlich nicht der beste aber ich hab nach nem halben Jahr nach dem ich angefangen hab mal wieder weitergemacht.
Whaaat? is offline  
Old 05/26/2015, 17:09   #2
 
Terrat's Avatar
 
elite*gold: 130
Join Date: Apr 2012
Posts: 1,173
Received Thanks: 670
Gott ist der Code unübersichtlich <3. Aber so wie es aussieht greift er auf ein Arrayitem zu welches nicht exestiert. Sprich z.B. die Arraygröße ist 3 und du willst den Wert von 4 haben, 4 exestiert ja nicht = acces violation. Guck dir mal sizeof an. Bei texten aber strlen!
Terrat is offline  
Thanks
1 User
Old 05/26/2015, 17:29   #3
 
Whaaat?'s Avatar
 
elite*gold: 43
Join Date: Sep 2013
Posts: 161
Received Thanks: 27
Also wenn ich im Debugmodus den Wert von val3 am Zeitpunkt an dem es crasht anschaue, dann ist der Wert 4 und es geht trotzdem nicht:

Edit:
Arrays mit der Größe [4] gehen von 0-3 stimmt. Ich muss nochmal kurz schauen.

Ja war leider mein Fail, da ich die Gen funktionen von 1-13 bzw. 1-4 gemacht habe obwohl die Arrays nur von 0-12 bzw. 0-3 gingen. Danke dir für die Hilfe
Whaaat? is offline  
Old 05/26/2015, 17:42   #4
 
newchild's Avatar
 
elite*gold: 0
Join Date: Oct 2012
Posts: 151
Received Thanks: 42
Nur so nebenbei, es sieht so aus, als hättest du die random funktion nicht richtig geseedet, d.h. sie wird immer die gleiche Zahlenfolge ausspucken. Außerdem ist <random> der c++ Standardheader und und die STDlib der C Header.
()
newchild is offline  
Reply


Similar Threads Similar Threads
[How to] Access Violation beheben [How to]
04/03/2015 - Nostale - 4 Replies
Moin Nos-Section, wer kennt es nicht? Nach Ewigkeiten mal wieder mit'm Packetlogger oder manch andrem Tool durch NosTale rennen, aber egal wie wir versuchen den Packetlogger zum Laufen zu bringen, immer kommt Access Violation hier oder Access Violation da. Man selbst hat hunderte von Injectoren genutzt und Clients. Irgendwann sieht es dann nur noch so aus: http://i.epvpimg.com/VQkIf.jpg
[ASM] Access Violation
12/14/2014 - C/C++ - 8 Replies
Hey da das alte Problem beseitigt ist und ich nicht denke das mir dort jemand weiter helfen würde. Es gibt nun aber ein anderes Problem. Und dies Betrifft eine Zugriffsverletzung über ASM. Wenn ich folgenden Code ausführe gibt es keine Probleme: __asm { mov eax, dword ptr ds : ; mov dword ptr ds : , 255;
Access violation
04/17/2014 - C/C++ - 12 Replies
Hey, bin momentan daran ein Programm zu coden, darin muss ich in einem Spiel ein Mob anvisieren, sofern alles gut, er visiert die Mobs korrekt an etc. Mein Problem liegt daran das wenn ich ein Mob anvisieren möchte und kurz davor jemand anderes den Mob killt das mein Programm und das Game abstürzen, habs mir schon im Debugger angekuckt, komme damit aber auch nicht viel weiter, hab nur herausfinden können das es mit dem anvisieren zu tun hat. Hab auch schon versucht kurz vor dem anvisieren zu...
C++ Detour - Access Violation
10/19/2011 - C/C++ - 1 Replies
Hallo, ich versuche zur Zeit ein eigenes Detour mit Hilfe dieser http://www.elitepvpers.com/forum/gamehacking-tutor ials/518465-c-eigene-detours-teil1.html Anleitung zu basteln. Ziel ist es bei jedem Call einer bestimmten Funktion eine Messagebox auszugeben. Leider klappt das irgendwie nicht wie es soll, denn es tritt immer eine Acces Violation auf nachdem meine Messagebox angezeigt wurde. Meine Vermutung ist, nach Stepping in Olly, dass sich die Registers durch meine Funktion ändern. Das...



All times are GMT +1. The time now is 06:08.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.