Форум программистов, компьютерный форум, киберфорум
Наши страницы
Apache, htaccess
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
Aleksey_vopros
0 / 0 / 0
Регистрация: 19.09.2010
Сообщений: 2
1

Win 7 , Apache 2.2.14, cgi C++ VS 2008 Debug

22.09.2010, 18:12. Просмотров 1998. Ответов 1
Метки нет (Все метки)

Здравствуйте

Установлены Windows 7 prof, Apache 2.2.14 для win32, MS Visual Studio 2008.

Есть код, скомпилированный в VS 2008 с++ (main.cpp)

C++
1
2
3
4
5
6
7
8
9
10
11
12
//---------------------------------------------------------------------------------------
#include <crtdbg.h>
#include "cgi.h"
 
int main(int argc,char* argv[])
{
      _ASSERTE(false);
 
     ...
 } 
 
//----------------------------------------------------

При запуске кода из командной строки (путь/./код.exe) он выдает всплывающее окно Debug Assertion Failed!
. Далее я могу вызвать отладчик VS C++


Но если код запустится процессом apache (запускаю через IE http:/../cgi-bin/код.exe), окно я не увижу, но останется запись в

в журнале Windows Система:

Application Popup 26

Всплывающее окно приложения: Microsoft Visual C++ Debug Library : Debug Assertion Failed!

Program: C:\myserver\cgi-bin\код.exe
File: .\main.cpp
Line: 12

Expression: false

For information on how your program can cause an assertion
failure, see the Visual C++ documentation on asserts.

(Press Retry to debug the application)




Подробности

Provider
[ Name] Application Popup
-EventID 26
[ Qualifiers] 16384
Level 4
Task 0
Keywords 0x80000000000000
-TimeCreated
[ SystemTime] 2010-09-22T08:33:36.000000000Z
EventRecordID 7204
Channel System
Computer Aleksey-Acer
Security


Код отрабатывает, так как результат работы кода я вижу в браузере. Ну и сообщение в журнале, указанное выше это подтверждает. А вот окно мне не показывается Код естественно в Debug версии

Ранее использовал WinXP SP3, Apache 2.2.14 Win32, Visual Studio 2008
и окно Debug Assertion Failed! появлялось в обоих случаях.

Пробовал другой способ доступа к отладчику из процесса Apache:
C++
1
2
3
4
5
6
7
#ifdef _DEBUG
char szMessage [256];
wsprintf (szMessage, "Please attach a debugger to the process 0x%X (%s) and click OK",
      GetCurrentProcessId(), argv[0]);
MessageBox(NULL, szMessage, "CGI Debug Time!",
      MB_OK|MB_SERVICE_NOTIFICATION);
#endif
Но сообщение опять же появлялось только в журнале. Код отрабатывал а я окошко сообщения не видел. При запуске из командной строки все работает как надо.


Думаю что проблема в настройках Windows 7, которые не позволяют мне увидеть это окно Debug Assertion Failed! или окно MessageBox при запуске от процесса apache,


Настройки файлов конфигурации apache под Win 7 не менял, такие же как для XP. Ошибок в логах apache нет.

Как же сделать чтобы окна Debug Assertion Failed! или MessageBox мне увидеть?

Спасибо.

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.09.2010, 18:12
Ответы с готовыми решениями:

Не подключается php 5.6 к apache 2.4 win srv 2008
Не могу разобраться, много сайтов перечитал ничего не работает без пхп запускается но как только...

win server 2008: IIS или Apache
Доброго времени суток, господа. Просмотрел форум, порылся в интернете, но так и не смог... ммм......

CGI на Apache
Возникла непонятная проблема. На машине установлен и сконфигурирован сервер Apache. Написано 2...

Непонятный косяк с Apache + PHP 7.1 fast.cgi
Есть 2 диска SSH один на 60, другой на 120. Везде установлен одинаковый софт. Весь софт для веб...

не запускаеться (CGI вместе с MySQL) под Apache: Premature end of script headers: c:/www/cgi-bin/catalog.cgi
такая трабла: вот что пишет Apache в Log: Premature end of script headers:...

1
Aleksey_vopros
0 / 0 / 0
Регистрация: 19.09.2010
Сообщений: 2
24.09.2010, 14:05 2
Установив галочку в службах, служба Apache - взаимодействие с рабочим столом, стал получать уведомление о том что сообщение интерактивной службы не может быть отображено (картинка ниже)

Нашел вот такое сообщение

Creating UI directly from a service (particularly one running under a privileged account such as SYSTEM) creates a vulnerability to so-called "shatter" attacks. To prevent this class of security vulnerabilty, Vista isolates services into a separate session (Session 0 Isolation). If you have a service which needs to display some form of UI you should separate that out into a separate application that runs in the user's session and communicate between the two using some form of IPC.
Так как в cgi я использовал pipe - код отрабатывает правильно, взаимодействуя с приложения запущенными под пользователем. Но может как то можно "зацепить" запущенный службой Apache мой код.exe. Я бы тогда смог "приклеить" к нему JIT Debugger.

Понятно что можно опять через pipe вернуть код процесса, и ждать отклика по pipe, в это время попробовать подключиться к процессу. Но можно ли будет получить доступ в отладчике к такому коду?
0
Миниатюры
Win 7 , Apache 2.2.14, cgi C++ VS 2008 Debug  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.09.2010, 14:05

Запуск cgi скрипта в Apache
Имеется проблема с запуском cgi скрипта, а именно: есть алиас ScriptAlias /cgi-bin/...

Разделяемая память и apache CGI
Что есть. Есть машина с windows 7 и апачем на борту. Так же есть программа А, написанная на c++,...

Чем отличается Win Server 2008 R2 от Win 7 Ultimate
Доброго вечера! Возник нубский вопрос, который написан в шапке:) Точнее вопрос звучит так: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru