Serialize view model for debugging and application support
First Claim
1. A method comprising:
- creating, by an application executing on a first device, a first view model associated with the application, the first view model being in a first data format and including first data that, when rendered on a first display of the first device, depicts a first user interface, wherein the first data format is a tree structured data format;
presenting, by the application and on the first display of the first device, the first user interface associated with the data of the first view model;
receiving, via an input device of the first device, a first input to cause the application to perform a first action;
creating, by the application executing on the first device, a second view model associated with the application, the second view model being in the first data format and including second data that, when rendered on the first display of the first device, depicts a second user interface, wherein one of the first view model and the second view model contain a link that allows a user to navigate to the other view model;
presenting, by the application and on the first display of the first device, the second user interface associated with the second data of the second view model;
storing the first view model and the second view model in memory of the first device;
receiving, via the input device of the first device, a second input to cause the application to perform a second action;
identifying, by the application, an error experienced by the application and caused by the second input;
at least partially in response to identifying the error;
capturing, by the application, a stack trace corresponding to the error, the stack trace including a report of active stack frames during a time of the error, the active stack frames including data structures that contain subroutine state information associated with the application;
capturing, by the application, a process image of the first view model and the second view model including first data and second data that was rendered on the first display at the time of the error;
serializing, by the application, the process image of the first view model and the second view model to generate a serialized view model, the serialized view model being in a second data format that is configured to be transmitted via a network;
sending, by the application and to a service via the network, the stack trace and the serialized view model to enable the service to debug the application;
deserializing, via a second device associated with the service, the serialized view model to obtain the first view model and the second view model in the first data format; and
presenting the first user interface and the second user interface associated with the first view model and the second view model via a second display of the second device at least partially in response to deserializing the serialized view model at the second device.
2 Assignments
0 Petitions
Accused Products
Abstract
Techniques for generating serialized view models that are used for both debugging an application and application support. The techniques include executing an application, creating a view model associated with the application, the view model including information associated with a service provided by the application, and presenting a user interface associated with the view model. The techniques can further include identifying, while presenting the user interface, an error occurring with the application, capturing a stack trace corresponding to the error, capturing a process image of the view model, serializing the process image of the view model to generate a serialized view model, and sending the stack trace and the serialized view model to a service. The service can then use the stack trace and the serialized view model to debug the application.
-
Citations
19 Claims
-
1. A method comprising:
-
creating, by an application executing on a first device, a first view model associated with the application, the first view model being in a first data format and including first data that, when rendered on a first display of the first device, depicts a first user interface, wherein the first data format is a tree structured data format; presenting, by the application and on the first display of the first device, the first user interface associated with the data of the first view model; receiving, via an input device of the first device, a first input to cause the application to perform a first action; creating, by the application executing on the first device, a second view model associated with the application, the second view model being in the first data format and including second data that, when rendered on the first display of the first device, depicts a second user interface, wherein one of the first view model and the second view model contain a link that allows a user to navigate to the other view model; presenting, by the application and on the first display of the first device, the second user interface associated with the second data of the second view model; storing the first view model and the second view model in memory of the first device; receiving, via the input device of the first device, a second input to cause the application to perform a second action; identifying, by the application, an error experienced by the application and caused by the second input; at least partially in response to identifying the error; capturing, by the application, a stack trace corresponding to the error, the stack trace including a report of active stack frames during a time of the error, the active stack frames including data structures that contain subroutine state information associated with the application; capturing, by the application, a process image of the first view model and the second view model including first data and second data that was rendered on the first display at the time of the error; serializing, by the application, the process image of the first view model and the second view model to generate a serialized view model, the serialized view model being in a second data format that is configured to be transmitted via a network; sending, by the application and to a service via the network, the stack trace and the serialized view model to enable the service to debug the application; deserializing, via a second device associated with the service, the serialized view model to obtain the first view model and the second view model in the first data format; and presenting the first user interface and the second user interface associated with the first view model and the second view model via a second display of the second device at least partially in response to deserializing the serialized view model at the second device. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A system comprising:
-
a first application comprising first instructions that, when executed by one or more first processors of a first device, cause the one or more first processors to; create a view model associated with the first application, the view model comprising; a first individual view model including first information associated with a service provided by the first application, the first individual view model being in a first data format that comprises a tree structured data format and including first data that, when rendered on a first display of the first device, depicts a first user interface; and a second individual view model including second information associated with the service, the second individual view model being in the first data format and including second data that, when rendered on the first display, depicts a second user interface, wherein at least one of the first individual view model or the second individual view model contain a link that allows a user to navigate to the other view model; store the view model in memory of the first device; present, on the first display of the first device, the first user interface associated with the first data of the first individual view model, wherein the second user interface is not presented while the first user interface is being presented; identify an error experienced by the first application; capture a stack trace corresponding to the error; capture a process image of the first individual view model and the second individual view model; serialize the process image of the view model to generate a serialized view model, wherein serializing the process image of the view model includes translating the process image of the view model into a second data format that is configured to be transmitted via a network to the service; and send, to a second device via the network, the stack trace and the serialized view model; and the second device, comprising; one or more second processors; and a second application comprising second instructions that, when executed by one or more second processors of the second device, cause the one or more second processors to; receive the stack trace and the serialized view model; deserialize the serialized view model to obtain the view model in the first data format; and present the first user interface associated with the first individual view model in the first data format on a second display of the second device. - View Dependent Claims (7, 8, 9, 10, 11, 12)
-
-
13. One or more computer storage media storing computer executable instructions that, when executed on one or more processors, cause the one or more processors to perform acts comprising:
-
executing an application; creating, by the application, a view model associated with the application, the view model comprising; a first individual view model including first data that, when rendered on a display, depicts a first user interface in a first data format, wherein the first data format is a tree structured format; and a second individual view model including second data that, when rendered on the display, depicts a second user interface in the first data format, wherein at least one of the first individual view model or the second individual view model contain a link that allows a user to navigate to the other view model; storing the view model; presenting, by the application and on the display, the first user interface associated with the first data of the first individual view model, wherein the second user interface is not presented while the first user interface is being presented; identifying, by the application, an error experienced by the application; capturing, by the application, a stack trace corresponding to the error; capturing, by the application, a process image of the first individual view model and the second individual view model; serializing, by the application, the process image of the view model to generate a serialized view model, wherein generating the serialized view model comprises translating the process image of the view model into a second data format that is the configured to be transmitted via a network and to be deserializable by a deserialization module that is configured to convert the serialized view model to the view model, the deserialization module being associated with a computing service; and sending, by the application and to the computing service, the stack trace and the serialized view model. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
Specification