This one has been bothering me for some time now. I dislike being asked to produce repro steps and/or a small project when I’m using a third party library or dev platform and something goes wrong.

Once, I opened an issue I had with Qt Creator with very easy repro steps. Guess what, the answer was… Did you follow the link? That is insane, really. It was so simple.

Besides, how can I do that when my project is big and already using multiple components? I do not have time for this. Furthermore, the problem may happen in rare occasions. How can I even know what the context was?

I’d prefer to be able to activate verbose logging, reproduce (or wait for) the problem and send the logs over. Wait… You do not have logs at the core of your library? Please consider adding it.

Native to Managed bridging is hard

And I’m not talking about potential issues involved in native to managed code bridging. For instance this one with React Native.

I had this other issue recently involving an iOS native component that had no log. A delegate was not being called and I had no idea why. Sure logs would have been helpful in the first place.

Managed language powered native apps and SDKs, with Javascript and c# for instance,  are becoming increasingly mainstream. We must have a way to figure out what is going wrong quickly.

Yet, when I do take time to provide repro steps, worst case scenario, sometimes nothing happens.

Cross platform C or C++ native code is difficult too

But there are ways to be able to log whenever something seems wrong.

I’ve used this macro successfully in a React Native project for one of my customer.

May be this is the only way

Because nothing will mimic every possible runtime environments, please think about using logging everywhere.

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.