<div dir="ltr"><div style="font-size:12.8px">Hi all,</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">I want to find all the called functions in each function, thus I iterate the calledFunctions of each CallGraphNode in CallGraph as follow:</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">for (CallGraph::iterator it = CG->begin(); it != CG->end(); ++it) {</div><div style="font-size:12.8px">   CallGraphNode* node = it->second;</div><div style="font-size:12.8px">   for (CallGraphNode::iterator it2 = node->begin(); it2 != node->end(); ++it2) {</div><div style="font-size:12.8px">      Function* calledFunc = it2->second=>getFunction();</div><div style="font-size:12.8px">      cerr << ”function: “ << calledFunc->getName().str() <<"\n";  <b>// crash some times</b></div><div style="font-size:12.8px">      ... ...</div><div style="font-size:12.8px">      ... ...</div><div style="font-size:12.8px">    }</div><div style="font-size:12.8px">}</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">I found that some time "calledFunc" is NULL function and thus the output crash. I don't known why? If the before code is wrong, so what is the correct method for get all the called functions?</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">I use LLVM 3.6. Thank you all in advance.</div><div><div class="gmail_signature"><br>--------------------------------------------<br>Qiuping Yi<br>Institute Of Software<br>Chinese Academy of Sciences</div></div>
</div>