Lets say I ask you to fix an issue with my house, you're a contractor, but before you agree, you want to know what the problem was. I tell you:
Problem: Something is wrong with the house ( 22 )
Where 22 is the international code for "Something is wrong in this house".
I think we'd both agree that this is a meaningless response.
HTTP 500 is the same. It's the most generic possible way of saying some unspecified thing went wrong.
As a result, until the debugging is done, nobody knows what the actual problem is, and by proxy, what the question is.
If the question is self contained enough that the problem can be reproduced, then it's possible to answer the question. Otherwise, it means a lengthy comment section with a back and forth, grasping at straws to get information to try and reproduce the problem. Otherwise it's impossible to answer the question.
Additionally, Stack Exchange isn't a discussion forum, it's a Q&A site. It's more like a wiki, where each question is a wiki page, with a community sourced answer. Anybody with that problem can look up the answer and solve their issue. A debugging question on the other hand is specific to a single persons localised situation.
So if you have an issue, and you don't know what the problem is, you need to do debugging to identify it. Once you've identified what the problem is, you can ask about it.
In the case of the question you mentioned, I would look up the PHP error log then go to the support for the plugin you tried to update and report the bug.