SlideShare una empresa de Scribd logo
1 de 27
Natraj Yegnaraman
Troubleshooting: Tools, tips &
tricks
#CRMSaturday
Social Media
Target Audience
Troubleshooting
Six stages of troubleshooting
1. That can't happen.
2. That doesn't happen on my machine.
3. That shouldn't happen.
4. Why does that happen?
5. Oh, I see.
6. How did that ever work?
http://www.68k.org/~jrc/old-blog/archives/000198.html
External Factors - Troubleshooting
• Network changes
• AD/DNS/Firewall changes
• Windows patches
• Solution imports
Demo
• Notepad++
• Solution History
Web service
Plugins
Workflows
JavaScript
Business
Rules
Troubleshooting areas
Server Side
Sync
Troubleshooting using Internet Explorer
The rise of Chrome
JavaScript Debugging approaches
Poll source: JavaScript Daily
Chrome DevTools – Important shortcuts
Open DevTools CTRL + SHIFT + I
Open command menu CTRL + SHIFT + P
Go to source CTRL + P
Search across all sources CTRL + SHIFT + F
Toggle Breakpoint CTRL + B
Go to member CTRL + SHIFT + O
Evaluate selection in console CTRL + SHIFT + E
Pause/resume script execution F8
Step over next function call F10
Step into next function call F11
Next call frame CTRL + .
Previous call frame CTRL + ,
DevTools Demo
• Command Palette
• Locating the form JavaScript code directly
• Running adhoc JavaScript in context of the frame
• Blackboxing
• Pause on exceptions
• Workspace
Troubleshooting Business Rules
• Business Rules internals
• Using Chrome DevTools to debug
Debugging without deploying
Demo
• Fiddler (http://www.telerik.com/fiddler)
• Imposter (https://github.com/gotdibbs/Imposter.Fiddler)
Plugin Troubleshooting – Classic
Plugin Troubleshooting – Improved
• Plugin Trace Viewer
• Plugin Registration Tool - Profiler
• FakeXrmEasy
Demo
Plugin Registration Tool - Profiler
FakeXrmEasy
• Opensource – (https://github.com/jordimontana82/fake-xrm-easy)
• Can be use for both unit tests and integration tests
• Supports CRM2015, CRM2016 and Dynamics 365 Customer Engagement
FakeXrmEasy – Sample Integration Test
Demo
FakeXrmEasy
Troubleshooting system issues
Demo – Process Monitor
Troubleshooting - Web service
Visual Studio
• Connection setup in config
• Solution setup
• Generate context and strongly
typed classes
LINQPad
• Connection in AppData
• Save snippets
• Strongly generated classes auto-
generated
Questions?
Twitter @rajyraman
LinkedIn https://www.linkedin.com/in/natrajyegnaraman
GitHub https://github.com/rajyraman
Blog https://dreamingincrm.com
Thank you sponsors and volunteers

Más contenido relacionado

Similar a Troubleshooting: Tools, tips and tricks

Works For Me! Characterizing Non-Reproducible Bug Reports
Works For Me! Characterizing Non-Reproducible Bug ReportsWorks For Me! Characterizing Non-Reproducible Bug Reports
Works For Me! Characterizing Non-Reproducible Bug Reports
SALT Lab @ UBC
 
Jmeter Performance Testing
Jmeter Performance TestingJmeter Performance Testing
Jmeter Performance Testing
Atul Pant
 
Raj Subramanian - Mobile Web Testing
Raj Subramanian - Mobile Web TestingRaj Subramanian - Mobile Web Testing
Raj Subramanian - Mobile Web Testing
QA or the Highway
 

Similar a Troubleshooting: Tools, tips and tricks (20)

Works For Me! Characterizing Non-Reproducible Bug Reports
Works For Me! Characterizing Non-Reproducible Bug ReportsWorks For Me! Characterizing Non-Reproducible Bug Reports
Works For Me! Characterizing Non-Reproducible Bug Reports
 
Toss out that old stakeholder review proceess!
Toss out that old stakeholder review proceess!Toss out that old stakeholder review proceess!
Toss out that old stakeholder review proceess!
 
Top 5 Tools & Hacks to Optimize Your Offers for Success and 5 Benefits You Re...
Top 5 Tools & Hacks to Optimize Your Offers for Success and 5 Benefits You Re...Top 5 Tools & Hacks to Optimize Your Offers for Success and 5 Benefits You Re...
Top 5 Tools & Hacks to Optimize Your Offers for Success and 5 Benefits You Re...
 
Start Up Austin 2017: Manual vs Automation - When to Start Automating your Pr...
Start Up Austin 2017: Manual vs Automation - When to Start Automating your Pr...Start Up Austin 2017: Manual vs Automation - When to Start Automating your Pr...
Start Up Austin 2017: Manual vs Automation - When to Start Automating your Pr...
 
Jmeter Performance Testing
Jmeter Performance TestingJmeter Performance Testing
Jmeter Performance Testing
 
Measure camp tools of the cro rabble
Measure camp   tools of the cro rabbleMeasure camp   tools of the cro rabble
Measure camp tools of the cro rabble
 
Five Easy Ways to QA Your Drupal Site
Five Easy Ways to QA Your Drupal SiteFive Easy Ways to QA Your Drupal Site
Five Easy Ways to QA Your Drupal Site
 
How i got my first cve
How i got my first cveHow i got my first cve
How i got my first cve
 
Machine learning pipeline
Machine learning pipelineMachine learning pipeline
Machine learning pipeline
 
Solving the 3 Biggest Questions in Continuous Testing
Solving the 3 Biggest Questions in Continuous TestingSolving the 3 Biggest Questions in Continuous Testing
Solving the 3 Biggest Questions in Continuous Testing
 
Lug
LugLug
Lug
 
Leveling the playing field
Leveling the playing fieldLeveling the playing field
Leveling the playing field
 
Faster Translations Start With A Faster Computer
Faster Translations Start With A Faster ComputerFaster Translations Start With A Faster Computer
Faster Translations Start With A Faster Computer
 
Tomer Shiri - A Bug's Life - How to Avoid Production Catastrophes
Tomer Shiri - A Bug's Life - How to Avoid Production CatastrophesTomer Shiri - A Bug's Life - How to Avoid Production Catastrophes
Tomer Shiri - A Bug's Life - How to Avoid Production Catastrophes
 
Tips for The Accidental Techie
Tips for The Accidental TechieTips for The Accidental Techie
Tips for The Accidental Techie
 
Tips For The At Web
Tips For The At WebTips For The At Web
Tips For The At Web
 
Overcoming the application compatibility hurdle in windows 7
Overcoming the application compatibility hurdle in windows 7Overcoming the application compatibility hurdle in windows 7
Overcoming the application compatibility hurdle in windows 7
 
Cross-platform logging and analytics
Cross-platform logging and analyticsCross-platform logging and analytics
Cross-platform logging and analytics
 
JUG Poznan - 2017.01.31
JUG Poznan - 2017.01.31 JUG Poznan - 2017.01.31
JUG Poznan - 2017.01.31
 
Raj Subramanian - Mobile Web Testing
Raj Subramanian - Mobile Web TestingRaj Subramanian - Mobile Web Testing
Raj Subramanian - Mobile Web Testing
 

Último

AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Último (20)

Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 

Troubleshooting: Tools, tips and tricks

Notas del editor

  1. If you sharing your updates in Twitter, crmsaturday is the hashtag to use. So, if you any feedback to share or you would like to ping me about the talk, this is where you can contact me on Twitter, if I can’t answer you questions today.
  2. This aim of this talk is to help developers to troubleshoot better. I will demonstrate some tools and techniques that can reduce the time it make the root cause analysis so that you can spend bulk of your time in fixing the issue.
  3. I think Java was probably the first language that had error messages designed to confuse people rather than clarify. If you just leave out a semi colon, you would get 300 compile warnings, even for a simple Hello World. Since there are lot of touch points in CRM, it is often confusing where the error is originating from: is it the framework version, is it permissions, is it something to do with permissions, plugin firing in the background, maybe the async service has stopped. There is so many possibilities. So this has to be approached in a methodical fashion. In order to do this you need to know some internals, as in how CRM does certain things, and what are the tools that are available to assist.
  4. You might have heard about the five stages of grief which are Denial, Anger, Bargaining, Depression and Acceptance. This is some what similar to that model and it lists the stages the developer goes through before that actually fix the issue. In my experience 1 to 4 often takes the most time. Once the issue is identified the fix is quite easy or if it not easy you probably can always says that it will be fixed in the next update rollup or that it is not a defect but an undocumented feature.
  5. This is troubleshooting 101. We first have to ascertain whether the bug was caused due to some change made by you or whether an external factor contributed to this behaviour. Without confirming this first we could be troubleshooting for days only to find out there as some Windows patch that caused some thing to break. For example there was a Windows patch released around March that messed up the form layout in CRM2011 when IE11 is used. So it is important to get this out the way first and do the due diligence first, so that we can focus our efforts into troubleshooting and resolving the issue.
  6. Use FXB to do a fetch on import job against CRM Online. Do the same using Solution History Tool.
  7. These are the areas I hope to cover in today session. Today I would be spending most of my time covering the first two. Server side sync is a bit tricky as it is a black box and you can’t really do a lot even if you discover any issues, but I can show the process of troubleshooting.
  8. JavaScript: Don’t get me wrong. IE is a decent browser post IE9, but it still lags fairly when it comes to troubleshooting JavaScript. It can sometimes be the cure when it comes to dealing with legacy sites e.g. showModalDialog in Sharepoint, but from a debugging perspective it is like comparing metro to a bullet train. Both get you there, but one gets you there faster and in style.
  9. This map from statcounter shows how quickly Chrome has been adopted by everyone. One reason could be how Google pushed it using their dominance is search, but as an end user it is really fast, and for a developer it has lot of debugging features that are not available in other browsers.
  10. This is a Twitter poll result, that shows that console.log is still a really popular debugging method. *AUDIENCE QUESTION*: How many use debugger; statement in code to start the debug session? *FEW*: That good. *FOLLOW UP*: Do you all use Chrome? *IF ONLY FEW*: That’s good. I’ll show you some tricks that you would find useful.
  11. You can pretty do these command using UI, but knowing the shortcuts saves time. This is a list of shortcuts that I use frequently during debugging. In terms the shortcuts like step out, step into and step over it is almost same as Visual Studio. So, if you are used to Visual Studio debugging this should be pretty familiar.
  12. CRM2015 UR12 brought the multi-browser capability to CRM. When CRM2016 has changed is also where the form js code runs. It runs a separate frame called ClientApiWrapper. I guess this was a way to prevent people from directly accessing DOM elements in the form. I will be using Chrome Canary as it includes the latest and greatest features. *WORKSPACE* drawback is that it loads the network resource when the page is refreshed and so it is not a replacement for the tools I am going to show next, which can load a local resource instead of a network resource.
  13. When it comes to debugging JavaScript, you don’t necessarily have to deploy your JavaScript to CRM, to set the break points. You can use couple of these tools to sort of hijack the browser request for a network resource, and make it load a local resource. One significant advantage this has over Chrome workspace is that the changes are not lost during page reload.
  14. Before plugin profiler came along, troubleshooting plugins or workflow assemblies was pretty hard. This is because you have to attach the debugger against the IIS process, if you are troubleshooting a plugin and against the async service if you are troubleshooting a workflow. This is not anyway possible with CRM Online as you don’t have access to the services, but regardless of CRM Online or CRM OnPrem attaching a debugger to IIS or async process in PROD is not really an option. Plus it also locks up the process for everyone else. I will shows couple of ways this can be done.
  15. How many actually use profiler for debugging? I will probably run this through fast if most are familiar with this tool.
  16. There are times when you have to troubleshoot issues that are application related and don’t involve any code. For e.g. during CRM install or org import or normal application use for that matter. What I am going to show you is the tool of last resort which is SysInternals ProcessMonitor. What is SysInternals Process Monitor? If you done any tracing in SQL Server, you would have used Profiler. This is pretty much something similar that shows the activities that are happening in the system like file access, registry access and process details.
  17. I take this opportunity to thank the sponsors of CRM Saturday. Without their support an event at this scale would not be possible. I also thank MBS for providing the venue and all the volunteers for their help today.