Article View: microsoft.public.fr.vc
Article #6Re: Prb avec SetThreadContext/GetThreadContext
From: halfwolf
Date: Wed, 01 Feb 2006 09:43
Date: Wed, 01 Feb 2006 09:43
108 lines
3996 bytes
3996 bytes
Vincent Burel wrote:
> Mais est ce que le systeme swap toute l'application ? pile comprise ? je ne
> le crois pas. D'ailleurs, est-ce que le systeme swap la mémoire de la pile
> non utilisé ? j'ai un gros doute... Est-ce que Paul Bacelar peut répondre à
> ces questions ? :-))
J'aimerais bien aussi, car mon test ne penche pas en faveur de la
thèse de Paul.
Donc :
- soit la pile (au delà du pointeur de pile) n'est jamais modifiée
par le système.
- soit le test ne se met pas dans les conditions où le système
modifie la pile.
J'ai testé sous Windows 2000 SP4.
J'ai lancé les 2 programmes suivants en même temps. J'ai bien eu du
swap (on m'a même étendu ma mémoire virtuelle, c'est dire) et je
n'ai jamais vu affiché "On a touche a ma pile.".
La balle est dans le camp de Paul...
Voici le code en C du test de la pile :
#include <windows.h>
#include <stdio.h>
static char machaine[]="Ma pile n'est jamais modifiée, sauf si je fais
en sorte qu'elle le soit ";
static char * WriteInStack(void)
{
char sss[256 * 1024];
char* p;
p = sss + 255 * 1024;
strcpy(p,machaine);
return p;
}
void TestSiQQcToucheAMaPile(void)
{
long vi;
char * lp;
lp=WriteInStack();
while (1)
{
Sleep(10 * 1000);
vi=0;
while (machaine[vi]!=0)
{
if (lp[vi] != machaine[vi])
{
printf("On a touche a ma pile.\n");
return;
}
vi++;
}
}
}
int main(void)
{
TestSiQQcToucheAMaPile();
return 0;
}
Et voici le code en C utilisé pour provoquer un swap (j'ai 256 Mo de
mémoire physique) :
#include <windows.h>
#include <stdio.h>
int main(void)
{
char* p;
size_t sz;
sz = 256 * 1024 * 1024;
p = malloc(sz);
if (p == NULL)
{
printf("Pas assez de memoire.\n");
return EXIT_FAILURE;
}
while (1)
{
size_t i;
for (i = 0; i < sz; i += 16 * 1024)
{
p[i] = 't';
}
Sleep(1000);
}
free(p);
return EXIT_SUCCESS;
}
HalfWolf
Technical Details
Message-ID:
<1138787028.355061.139170@g14g2000cwa.googlegroups.com>Path:
arc1-ca.pugleaf.net!g2news1.google.com!postnews.google.com!g14g2000cwa.googlegroups.com!not-for-mailReferences:
<dr7ecj$p8o$1@apollon.grec.isp.9tel.net> <43d79c24$0$21351$626a54ce@news.free.fr> <43d7a39a$0$6689$8fcfb975@news.wanadoo.fr> <Xns9756B6557263Ccns2cnsinvalid@212.27.42.133> <43d7b071$0$20138$8fcfb975@news.wanadoo.fr> <erpjLqfIGHA.3904@TK2MSFTNGP10.phx.gbl> <43d87a0d$0$6645$8fcfb975@news.wanadoo.fr> <43d8c3d1$0$18347$8fcfb975@news.wanadoo.fr> <1138704476.705679.81660@g44g2000cwa.googlegroups.com> <43df45d1$0$6657$8fcfb975@news.wanadoo.fr> <1138781732.741458.99210@z14g2000cwz.googlegroups.com> <43e0709f$0$20178$8fcfb975@news.wanadoo.fr>Show Full Headers
Complete Article Headers
X-Google-Thread: f5082,a64b7cf201f73755 X-Google-Thread: 1053e6,a64b7cf201f73755 X-Google-Attributes: gidf5082,gid1053e6,public X-Google-Language: FRENCH,ASCII Path: arc1-ca.pugleaf.net!g2news1.google.com!postnews.google.com!g14g2000cwa.googlegroups.com!not-for-mail From: halfwolf@free.fr Newsgroups: microsoft.public.fr.vc,fr.comp.os.ms-windows.programmation Subject: Re: Prb avec SetThreadContext/GetThreadContext Date: 1 Feb 2006 01:43:48 -0800 Organization: http://groups.google.com Lines: 109 Message-ID: <1138787028.355061.139170@g14g2000cwa.googlegroups.com> References: <dr7ecj$p8o$1@apollon.grec.isp.9tel.net> <43d79c24$0$21351$626a54ce@news.free.fr> <43d7a39a$0$6689$8fcfb975@news.wanadoo.fr> <Xns9756B6557263Ccns2cnsinvalid@212.27.42.133> <43d7b071$0$20138$8fcfb975@news.wanadoo.fr> <erpjLqfIGHA.3904@TK2MSFTNGP10.phx.gbl> <43d87a0d$0$6645$8fcfb975@news.wanadoo.fr> <43d8c3d1$0$18347$8fcfb975@news.wanadoo.fr> <1138704476.705679.81660@g44g2000cwa.googlegroups.com> <43df45d1$0$6657$8fcfb975@news.wanadoo.fr> <1138781732.741458.99210@z14g2000cwz.googlegroups.com> <43e0709f$0$20178$8fcfb975@news.wanadoo.fr> NNTP-Posting-Host: 194.2.193.253 Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable X-Trace: posting.google.com 1138787033 7468 127.0.0.1 (1 Feb 2006 09:43:53 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Wed, 1 Feb 2006 09:43:53 +0000 (UTC) User-Agent: G2/0.2 X-HTTP-UserAgent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727),gzip(gfe),gzip(gfe) Complaints-To: groups-abuse@google.com Injection-Info: g14g2000cwa.googlegroups.com; posting-host=194.2.193.253; posting-account=pSozQQwAAADKETaIzyXrOAAZZ8jr3yhQ