나는 그것은 다음과 같습니다 ... 유래를 생산할 수있을 것 같지 않는 코드의 세그먼트에 대한 스택 오버 플로우 예외를 받고 있어요 : 더 재귀 호출이 없습니다 재귀 때문에 스택 오버플로가 발생할 수 있습니까?
public String WriteToFile(XmlDocument pDoc, String pPath)
{
string source = "";
string seq = "";
string sourcenet = "";
XmlNodelist sourceNode = pDoc.GetElementsByTagName(XmlUtils.Nodes.Source);
source = sourceNode.Item(0).InnerText;
XmlNodelist sqList= pDoc.GetElementsByTagName(XmlUtils.Nodes.Seq);
seq = sqList.Item(0).InnerText;
XmlNodelist sourceNets = pDoc.GetElementsByTagName(XmlUtils.Nodes.SourceNets);
sourcenet = sourceNets.Item(0).InnerText;
string fileName = Folders.GetMyFileName(source, seq, sourcenet);
string fullPath = Path.Combine(pPath, fileName);
pDoc.Save(pFullPathFile); <--- Stackoverflow is raised here
return pFullPathFile;
}
당신이 경우 "외부 코드"로 이동하기 전에 깊이가 2 인 호출 스택을 조사하십시오 (디버깅이 해제 된 스레드를 시작하는 프레임 워크의 일부분이지만 외부적인 것이 아닙니다).
어쨌든 재귀 호출 이외의 다른 예외가 발생할 수 있습니까? 그것은 항상 pDoc.Save 메서드 호출에서 실패합니다 ... 그리고 pDoc은 실제로 그렇게 크지 않습니다 ... 32KB의 데이터와 더 비슷합니다 ...
실제 코드를 게시 할 수 있습니까? 이 코드에서 pFullPathFile이 어디서 발생하는지 알지 못합니다. – Joe