윈도우즈 디버깅 문제...

munhoney의 이미지

안녕하세요

kldp에 윈도우즈 디버깅 문제를 올리는게 조금 맞지는 않은것 같긴한데요..

한번 올려봅니다.

문제는 디버깅 자체를 할 수 없는 상황이라는 거죠.

분명 crash가 발생하긴 하는데, 그 위치가 main들어가는 부분이 아니고, 그 전단계라는 겁니다.

그래서 visual studio 디버거를 사용할 수도 없고, ollydebug를 사용해보았지만, 역시나 main 전단계에서 에러가 발생하더군요 (access violation)

신기한 것은 cout혹은 printf로 임의부분을 추가하다보면 간헐적으로 에러가 발생하지 않고 실행이 된다는 것입니다.

이로 추측해 볼때 아마 버퍼 오버플로우가 아닐까 혼자 생각하고 있지만, 문제는 어떻게 접근해야 하는지를 모르겠네요

우선 단순화 작업을 하여 50%이상의 코드는 제거했지만, 나머지 50%에 대해서는 의존성이 강하게 엮어져있어서 분리하기가 어렵네요

혹시 이런 문제를 겪어보셨거나 접근 방식에 대한 아이디어가 있으신분 계시나요.. ㅡㅡ'

참고로 현재 개발 환경은
QT Creator - (컴파일러는 Visual Studio 8.0)
Windows 7
입니다.

mike1의 이미지


WinDBG 입니다.

프로그램이 Crash 되었을때, 덤프파일을 생성하여

WindDBG 로 분석하면 됩니다.

[WinDbg로 쉽게 배우는 Windows Debugging ]

책을 보시면서 하셔야 할 겁니다.

munhoney의 이미지

WinDBG로 해보았는데, 역시나 문제는 main 이전에 발생을 하고 있네요..

여기서 어떻게 더 찾아야 할지는 모르겠군요

---------------------------------
http://blog.naver.com/munhoney
---------------------------------

peecky의 이미지

사용하시는 언어가 C++인가요?

main 보다 먼저 실행되어 에러가 난다면, 전역으로 설정된 클래스 오브젝트의 constructor 에서 일어나는 문제일 수 있습니다.

taesaza0의 이미지

윗분 말대로
C++ 이라면

전역 오브젝트의 constructor에서 발생하는 문제이지 않을까 하네요
main 이 뜨기 전에 전역 오브젝트들의 constructor가 먼저 실행되고
전역 오브젝트의 초기화가 모두 이루어진 이후에 main 이 실행되게 됩니다

kese111의 이미지


올리디버거에서 옵션설정하면 디버깅 들어갈지 않나요..?

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.