博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
How to get a stack trace on Windows zz
阅读量:4584 次
发布时间:2019-06-09

本文共 2833 字,大约阅读时间需要 9 分钟。

How to get a stack trace on Windows

 

Tech Tip: GSS-0040

Last Updated March 1, 2010

Applies to GemStone/S 6.5x

//z 2011-12-23 10:07 AM IS2120@CSDN
If you encounter internal errors in GemStone processes, or if you have a situation where a GemStone process appears to be hanging, GemStone Technical Support will typically want to see a C level stack trace. This allows us to determine what code path resulted in the error. For hang situations, a series of stack traces several seconds apart will help in diagnosis - for example, very slow performance of long operations may appear to be a hang.
GemStone distributes the symbol files required to get meaningful stack traces on Windows. However, you will need to download WinDbg, or use another Windows tool to actually get the stack trace.
1. DOWNLOAD AND INSTALL WinDbg
Go to and follow the link "Install Debugging Tools for Windows 32-bit Version"
This process has been tested with version 6.11.1.404, which is listed under Previous Versions. Click on the link "Install 32-bit version 6.11.1.404[16.9 MB]" and save to your local disk.
Run the installer, and install the complete package.
2. START WinDbg
Launch WinDbg from the Start menu.
Set File>Symbol File Path to include your %GEMSTONE%/bin directory, which contains GemStone's .pdb symbol files. For example, N:\installdir\bin
If you encounter errors relating to ntdll.dll, you may need to also add the following to the symbol path:
3. ATTACH TO THE PROCESS
Select the menu item File>Attach to a Process. Select the stoned.exe, gem.exe, or other GemStone process in the list, and press OK.
4. GET THE STACK TRACE
To get a stack, use the menu item View>Call Stack. This will open a window initially showing a call stack for the current thread, which is probably not interesting. Leave this windows open.
Go to the menu item View>Processes and Threads. This will open a window with the stoned executable on top and a list of the threads (identified by hex codes). When you select a different thread, the call stack window will be automatically updated.
One of the stacks will contain the main process thread, this will normally have "main" on the stack. For example, look for a frame stoned!main or gem!main.
Use the menu item Edit>Copy Window Text To Clipboard to copy the stack.
5. DETACH AND CONTINUE
You can use Debug>Detach Debuggee to detach from the process and allow it to continue running.
CAVEATS
Since by invoking a debugger, you halt the system, use with caution.
If you are requested to get a number of stack traces separated by some time, remember that no time passes while stopped in a debugger. Detach Debuggee to allow it to continue, then re-attach to get the next stack.

转载于:https://www.cnblogs.com/IS2120/archive/2011/12/23/6745964.html

你可能感兴趣的文章
开发工具IDEA环境安装配置
查看>>
python3正则表达式详细用法示例
查看>>
算法笔记_086:蓝桥杯练习 9-2 文本加密(Java)
查看>>
Win8下使用Ctrl加空格来切换输入法
查看>>
ajax分页
查看>>
Java 常量池理解与总结(转摘)
查看>>
多线程编程学习笔记——线程池(三)
查看>>
从开始学编程过了半年了……
查看>>
【05月22日】预分红股息率最高排名
查看>>
Android学习总结(二)——Service基本概念和生命周期
查看>>
chr()//ord() //进制转换函数//eval()//文件函数//split()
查看>>
第一章 Java程序设计概述
查看>>
定时调动 (项目保留备份代码码)
查看>>
Leetcode-Divide Two Integers
查看>>
HTML 首页倒三角形导航块
查看>>
每天一道Java题[9]
查看>>
结对编程2——单元测试
查看>>
python 函数/列表的应用
查看>>
C#与MES
查看>>
LR接口测试---Java Vuser之jdbc查询(调试前)
查看>>