just a small tipp:
check if you have declared two different objects with the same name, like a function or a STRING* both having the same name
"void temp() {}" and "STRING* temp;"
The code will still compile fine then. That gave me random crashes all over my code (usually in plugin functions) and a week of debugging until i found the cause.