I don’t know of anything in the logs for that.
Does it have any conditional visibility on it?
My usual process is stepping through the logic and making sure access is set correctly.
What is the button doing? If it’s calling a Microflow check the access on that. Usually if a Microwflow leads to a page that a user doesn’t have access to the data on, it will throw up a whole load of errors on the page.
If the button is calling a page, check the access on that.
9 times out of 10, if I can’t see a button it’s because the access isn’t set up correctly on whatever it’s pointing too.