Tools supporting Used Resources Listings (Timers, Interrupts, Pins )

It would actually be a natural part of a decent compiler to check that different libraries do not conflict in using the same resources.

But if it is not is there an explicit tool, that walks thru the used(!) code (not all code from a library loads) and checks for risk for conflicts?

Or at least give me a list of the resources all code and included libraries are using?

What I mean:
I am using libraries (who doesn't?) and it is very rare, that the author publishes the list of resources his library is using.
When I add a library to my project, I am too busy to browse thru the code to check the resources for possible conflicts. Yet this is probably most often the reason why the sketch compiles and possibly also works until it suddenly hangs without any reasonable explanation. So - strictly speaking - without such a tool, you can never tell, if your sketch is robust.

Thank you for any hint.

tonys_0:
It would actually be a natural part of a decent compiler to check that different libraries do not conflict in using the same resources.

The compiler does check whether there is a timer interrupt conflict. You will get a Multiple Definition of "_vectorn" error.

To go beyond that seems like it would require some advanced artificial intelligence or something. Can you give an example of a compiler that does this?

tonys_0:
But if it is not is there an explicit tool, that walks thru the used(!) code (not all code from a library loads) and checks for risk for conflicts?

Again, it sounds quite complicated. Are you aware of something like this that already exists in any context?

tonys_0:
I am using libraries (who doesn't?) and it is very rare, that the author publishes the list of resources his library is using.

And there you have the real solution. Proper documentation, both by Arduino and 3rd party Arduino developers.

tonys_0:
I am too busy to browse thru the code
...
you can never tell, if your sketch is robust.

That's correct, if you don't bother to look at the code you are running then you will never be absolutely sure there aren't any problems with it.