이 문제는 미쳐 버렸습니다. 웹에서 검색했지만 내 문제와 관련된 답변을 찾을 수 없습니다. GraphSimulation.exe에서 0x7726dfe4에서0xC0000005 : 액세스 위반 읽기 위치가 0x4effffff
처리되지 않은 예외 : 오류는 이것이다가 0xc0000005 : 액세스 위반 읽기 위치 0x4effffff.
네트워크를 시뮬레이트하는 GraphSimulation이라는 주 프로젝트가 있습니다. 이 GraphSimulator는 네트워크 객체를 생성합니다.
class CNetwork
{
private:
//...
unsigned long lastTimeUnitStepCounter;
NetworkObjectCode codeGenerationCounter;
vector <string> HBInfo;
SStatisticsMonitor statisticMonitor;
bool bManageCashAlone;
private:
void TrySendingMoviePartsOnPath();
void InitActionArrayWithNetwork();
public:
void SetHalfBallInfo(string);
vector<string> GetHalfBallInfo();
저는 영화를 배포하는 방법에 도움이되는 네트워크 알고리즘입니다.
알고리즘을 실행할 때 몇 가지 정보를 설정해야합니다.
string s = "some information";
network.SetHalfBallInfo(s);
SetHalfBallInfo는이 정보를 HBInfo에 저장합니다. 알고리즘이 끝나면 GUI에 표시해야합니다. 그래서 GetHalfBallInfo는 정보를 호출합니다.
m_HalfBallInfo = _network.GetHalfBallInfo();
//showing the movie parts list
CListBox* pSolutionDisplayList = (CListBox*)GetDlgItem(IDC_SOLUTION_LIST);
for(int i = 0 ; i < m_HalfBallInfo.size() ; ++ i)
{
CString str;
str.Format("%u " , m_HalfBallInfo[i]);
pSolutionDisplayList->AddString(str);
}
그러나 알고리즘 실행을 시작하기 전에 네트워크를 반환하면 충돌이 발생합니다. 반환 네트워크 후
CNetwork CGraphView::ConvertGraphToNetwork()
{
CNetwork network;
//...
for(int i = 0 ; i < movieCodeArray.GetSize() ; ++i)
{
CMovieWrapper currMovieWrapper;
pDlgParam->movieList.GetNetworkObject(movieCodeArray[i] , &currMovieWrapper);
network.AddMovie(currMovieWrapper.GetMovieCopy());
}
//...
return network;
}
충돌. 어떤 도움을 주시면 감사하겠습니다.
내가 생각하기에 당신이 우리에게 정확한 코드를 보여줘야한다고 생각합니다. –
디버거에서 runnig가 지치셨습니까? 액세스해서는 안되는 메모리에 액세스하고 있지만 이유 또는 위치를 정확하게 말하기는 어렵습니다. –
정확히 어떤 라인에서 충돌이 발생합니까? 그리고 그 라인에 사용 된 변수는 어떻게 설정되어 있습니까? –