Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon What steps should I take to reproduce an issue in the MvvmCross Playground sample


What steps should I take to reproduce an issue in the MvvmCross Playground sample


Reproducing an issue in the MvvmCross Playground sample involves several steps that help isolate and identify the problem. Here's a detailed guide on how to proceed:

1. Clone the MvvmCross Repository**

Start by cloning the MvvmCross repository from GitHub. This will give you access to the Playground sample, which is included in the MvvmCross source code.

2. Open the Playground Sample**

Open the Playground sample project in your preferred IDE, such as Visual Studio. Ensure that you have all necessary NuGet packages installed and updated.

3. Identify the Issue**

Clearly define the issue you want to reproduce. This could be anything from a crash to unexpected behavior. Knowing exactly what you're trying to reproduce will help you focus your efforts.

4. Modify the Playground Sample**

Modify the Playground sample to mimic the conditions under which the issue occurs in your application. This might involve creating similar ViewModels, Views, or services as in your main project.

5. Enable Source Linking and Exception Settings**

To help debug the issue, enable source linking in your project. This allows you to step through the MvvmCross source code if needed. Additionally, configure Visual Studio to break on all Common Language Runtime (CLR) exceptions. This can help catch any internal exceptions that might be swallowed by MvvmCross.

6. Run and Reproduce the Issue**

Run the modified Playground sample and attempt to reproduce the issue. If the issue involves specific user interactions or sequences of actions, document these steps carefully.

7. Document Reproduction Steps**

Once you've successfully reproduced the issue, document the exact steps taken to cause it. This documentation is crucial for others to understand and help resolve the problem.

8. Submit a Pull Request or Issue**

If you believe the issue is a bug in MvvmCross, create a pull request with your modifications to the Playground sample that demonstrate the issue. Alternatively, submit an issue on the MvvmCross GitHub page with detailed reproduction steps.

9. Seek Community Help**

If needed, reach out to the MvvmCross community via Slack or Stack Overflow for additional assistance. Providing detailed reproduction steps will help others understand and assist with your issue more effectively.

By following these steps, you can effectively reproduce and report issues in the MvvmCross Playground sample, which is essential for debugging and resolving problems in your own applications.

Citations:
[1] https://nicksnettravels.builttoroam.com/post-2018-07-31-debugging-and-contributing-to-mvvmcross-aspx/
[2] https://learn.microsoft.com/en-us/archive/msdn-magazine/2014/august/windows-phone-build-mvvm-apps-with-xamarin-and-mvvmcross
[3] https://stackoverflow.com/questions/52611174/xamarin-android-app-built-using-mvvmcross-stuck-on-splash-screen-when-resumed-fr
[4] https://www.mvvmcross.com/documentation/platform/android/android-view-presenter
[5] https://github.com/MvvmCross/MvvmCross/issues/4332
[6] https://stackoverflow.com/questions/18686603/mvvmcross-error-when-loading-viewmodel
[7] https://github.com/MvvmCross/MvvmCross/issues/4236
[8] https://github.com/MvvmCross/MvvmCross/issues/2903