IDA failed to construct function correctly. After extending function end and correcting stack I've found that IDA doesnt refresh graph. The green nodes should be one continuous node. Is there any way to fix it?
-
Sorry for the previous comment, I was wrong. Try removing the function and creating it again.– joxeankoretOct 7, 2016 at 9:09
-
1Thanks, it helped. The problem was with "call sub_1b64a30" - this function had noreturn flag because of exceptions. That forced IDA to stop analysing right after this call.– notablackguyOct 7, 2016 at 9:33
-
If you have the solution - please submit it as an answer for future reference.– tmr232Oct 7, 2016 at 10:51
1 Answer
IDA sometimes flag functions with "noreturn". In my situation it was due to exceptions in sub_1B64A30. If function is flagged as "noreturn", IDA's analysis stops after calling it.
So, in order to repair graph one should unflag "noreturn" (I once had a case, where I couldn't do it tho), undefine calling function, define it back.