total system freeze comes from two things. first, the graphic card giving up. in this case only the screen is freeze. if you're watching movie, you can still hear the sound. secondly, something goes wrong with the kernel. for example, since 3.12 there is a nasty bug in the kernel related with my CPU where system without swap will got freeze when memory is almost full. in this case none is working. neither terminal, graphic, sound. only REISUB combo works.
before we start, please note that debugging might not worth to be done
. you need to know how to read the logs and understand how the system works. normal people like us won't be able to that. since you're using AMD, I'd suggest to try liquorix kernel
first. I don't know what they did on their kernel but AMD chips works better on liquorix kernel. you can find it here https://liquorix.net/
if you're curious or liquorix didn't works, first, you need to identify which made the system freeze. on the first case, you can look into either the kernel or X logs. there might some hints there. though, it's mostly graphic driver issue. if you're lucky, there might some workaround by playing with the X conf files. however, on most cases we need to install a brand new/different driver. try to find some keywords on the error message and dig more information about it.
that being said, it's lot easier to said than done. in my case rougly 90% of the solution is "ditch that graphic driver, use this one instead", or "the problem already fixed on driver ver X". that's basicly means you'll need to live near the edge (i.e: use debian testing). despite of the reputation, debian testing is actually quite stable. especially if you're using X. if nothing works, you might want to try debian testing on live cd and see whether if it works fine or not.
as for the second one...well, it's lots of works. you'll also need to be knowledgeable enough to dot that. for a start, the only source is dmesg logs and you might want to make it more detailed by using kernel debug mode. at first you'll find several traces and you'll need to observe which is the real problem. after you find the culprit, you'll need to find why did the problem happened and try several solution. on several case it means that you need to modify the source code and compile your own kernel. that might sounds overkill but for the sake of curiosity and learning, it actually quite fun. you'll learn a lot when you do it :3
else, instead of debugging it, simply use the newest kernel. the kernel in backport is known to be problematic due to several reason. you'll need to use debian testing to properly do that.