Ted's Blog

Happy coding

GDB使用简介

Ted posted @ 2008年9月05日 04:25 in gdb with tags gdb , 3832 阅读

1、GDB 是什么?
GDB(GNU symbolic debugger)简单地说就是一个调试工具。它是一个受通用公共许可证即GPL保护的自由软件。

2、GDB特性

象所有的调试器一样,GDB可以让你调试一个程序,包括让程序在你希望的地方停下,此时你可以查看变量,寄存器,内存及堆栈。更进一步你可以修改变量 及内存值。GDB是一个功能很强大的调试器,它可以调试多种语言。在此我们仅涉及C和C++的调试,而不包括其它语言。还有一点要说明的是,GDB是一个 调试器,而不象VC一样是一个集成环境。你可以使用一些前端工具如XXGDB,DDD等。他们都有图形化界面,因此使用更方便,但它们仅是GDB的一层外 壳。因此,你仍应熟悉GDB命令。事实上,当你使用这些图形化界面时间较长时,你才会发现熟悉GDB命令的重要性。下面我们将结合简单的例子,来介绍 GDB的一些重要的常用命令。在你调试你的程序之前,当你编译你的源程序时,不要忘了-g选项或其它相应的选项,才能将调试信息加到你要调试的程序中。例 如:gcc -g -o hello hello.c 。

3、GDB常用命令简介

GDB的命令很多,本文不会全部介绍,仅会介绍一些最常用的。在介绍之前,先介绍GDB中的一个非常有用的功能:补齐功能。它就如同Linux下 SHELL中的命令补齐一样。当你输入一个命令的前几个字符,然后输入TAB键,如果没有其它命令的前几个字符与此相同,SHELL将补齐此命令。如果有 其它命令的前几个字符与此相同,你会听到一声警告声,再输入TAB键,SHELL将所有前几个字符与此相同的命令全部列出。而GDB中的补齐功能不仅能补 齐GDB命令,而且能补齐参数。
本文将先介绍常用的命令,然后结合一个具体的例子来演示如何实际使用这些命令。下面的所有命令除了第一条启动GDB命令是在SHELL下输入的,其余 都是GDB内的命令。大部分GDB内的命令都可以仅输入前几个字符,只要不与其它指令冲突。如quit可以简写为q,因为以q打头的命令只有quit。 List可以简写为l,等等

3.1 启动GDB
你可以输入GDB来启动GDB程序。GDB程序有许多参数,在此没有必要详细介绍,但一个最为常用的还是要介绍的:如果你已经编译好一个程序,我们假设文件名为hello,你想用GDB调试它,可以输入gdb hello来启动GDB并载入你的程序。如果你仅仅启动了GDB,你必须在启动后,在GDB中再载入你的程序。

3.2 载入程序 === file
在GDB内,载入程序很简单,使用file命令。如file hello。当然,程序的路径名要正确。

退出GDB === quit
在GDB的命令方式下,输入quit,你就可以退出GDB。你也可以输入'C-d'来退出GDB。

3.3 运行程序 === run
当你在GDB中已将要调试的程序载入后,你可以用run命令来执行。如果你的程序需要参数,你可以在run指令后接着输入参数,就象你在SHELL下执行一个需要参数的命令一样。

3.4 查看程序信息 === info
info指令用来查看程序的信息,当你用help info查看帮助的话,info指令的参数足足占了两个屏幕,它的参数非常多,但大部分不常用。我用info指令最多的是用它来查看断点信息。

3.4.1 查看断点信息
info br
br是断点break的缩写,记得GDB的补齐功能吧。用这条指令,你可以得到你所设置的所有断点的详细信息。包括断点号,类型,状态,内存地址,断点在源程序中的位置等。

3.4.2 查看当前源程序
info source

3.4.3 查看堆栈信息
info stack
用这条指令你可以看清楚程序的调用层次关系。
3.4.4 查看当前的参数
info args

3.5 列出源一段源程序 === list

3.5.1 列出某个函数
list FUNCTION

3.5.2 以当前源文件的某行为中间显示一段源程序
list LINENUM

3.5.3 接着前一次继续显示
list

3.5.4 显示前一次之前的源程序
list -

3.5.5 显示另一个文件的一段程序
list FILENAME:FUNCTION 或 list FILENAME:LINENUM

3.6 设置断点 === break
现在我们将要介绍的也许是最常用和最重要的命令:设置断点。无论何时,只要你的程序已被载入,并且当前没有正在运行,你就能设置,修改,删除断点。设置断点的命令是break。有许多种设置断点的方法。如下:

3.6.1 在函数入口设置断点
break FUNCTION

3.6.2 在当前源文件的某一行上设置断点
break LINENUM

3.6.3 在另一个源文件的某一行上设置断点
break FILENAME:LINENUM

3.6.4 在某个地址上设置断点,当你调试的程序没有源程序是,这很有用
break *ADDRESS
除此之外,设置一个断点,让它只有在某些特定的条件成立时程序才会停下,我们可以称其为条件断点。这个功能很有用,尤其是当你要在一个程序会很多次执 行到的地方设置断点时。如果没有这个功能,你必须有极大的耐心,加上大量的时间,一次一次让程序断下,检查一些值,接着再让程序继续执行。事实上,大部分 的断下并不是我们所希望的,我们只希望在某些条件下让程序断下。这时,条件断点就可以大大提高你的效率,节省你的时间。条件断点的命令如下,在后面的例子 中会有示例。

3.6.5 条件断点
break ...if COND
COND是一个布尔条件表达式,语法与C语言中的一样。条件断点与一般的断点不同之处是每当程序执行到断点处,都要计算条件表达式,如果为真,程序才会断下,否则程序会一直执行下去。

3.7 其它断点操作
GDB给每个断点赋上一个整数数字,这个数字在操作断点时起到重要作用,它实际上就代表相应的断点。GDB中的断点有四种状态:
有效(Enabled)
禁止(Disabled)
一次有效(Enabled once)
有效后删除(Enabled for deletion)
在上面的四个状态有效和禁止都很好理解,禁止就是让断点暂时失效。一次有效就是当程序在此断点断下后,断点状态自动变为禁止状态。有效后删除就是当程序在此断点断下后,断点被删除。实际上,后两种状态一般不会碰到。
当你设置一个断点后,它的确省状态是有效。你可以用enable和disable指令来设置断点的状态为有效或禁止。例如,如果你想禁止2号断点,可以用下面的指令:
disable 2
相应的,如果想删除2号断点,可以有下面的指令:
delete 2

3.8 设置监视点 === watch
当你调试一个很大的程序,并且在跟踪一个关键的变量时,发现这个变量不知在哪儿被改动过,如何才能找到改动它的地方。这时你可以使用watch命令。简单地说,监视点可以让你监视某个表达式或变量,当它被读或被写时让程序断下。watch命令的用法如下:
watch EXPRESSION
watch指令是监视被写的,当你想监视某个表达式或变量被读的话,需要使用rwatch指令,具体用法是一样的。要注意的是,监视点有硬件和软件两 种方式,如果可能Linux尽可能用硬件方式,因为硬件方式在速度上要大大快于软件方式。软件方式由于要在每次执行一条指令后都要检查所要监视的值是否被 改变,因此它的执行速度会大大降低。同时它也无法设置成被读时让程序断下,因为读操作不会改变值,所以GDB无法检测到读操作。幸运的是,目前的PC机基 本都支持硬件方式。如果你想确认一下你的机器是否支持硬件,你可以在调试程序时用watch设置一个监视点,如果GDB向你显示:
Hardware watchpoint NUM: EXPR
那么你可以放心了,你的机器支持硬件方式。

3.9 检查数据
最常用的检查数据的方法是使用print命令。
print exp
print指令打印exp表达式的值。却省情况下,表达式的值的打印格式依赖于它的数据类型。但你可以用一个参数/F来选择输出的打印格式。F是一个 代表某种格式的字母,详细可参考输出格式一节。表达式可以是常量,变量,函数调用,条件表达式等。但不能打印宏定义的值。表达式exp中的变量必须是全局 变量或当前堆栈区可见的变量。否则GDB会显示象下面的一条信息:
No symbol "varible" in current context

3.10 修改变量值
在调试程序时,你可能想改变一个变量的值,看看在这种情况下会发生什么。用set指令可以修改变量的值:
set varible=value
例如你想将一个变量tmp的值赋为10,
set tmp=10

3.11 检查内存值
检查内存值的指令是x,x是examine的意思。用法如下:
x /NFU ADDR
其中N代表重复数,F代表输出格式(见2.13),U代表每个数据单位的大小。U可以去如下值:
b :字节(byte)
h :双字节数值
w :四字节数值
g :八字节数值
因此,上面的指令可以这样解释:从ADDR地址开始,以F格式显示N个U数值。例如:
x/4ub 0x4000
会以无符号十进制整数格式(u)显示四个字节(b),0x4000,0x4001,0x4002,0x4003。

3.12 输出格式
缺省情况下,输出格式依赖于它的数据类型。但你可以改变输出格式。当你使用print命令时,可以用一个参数/F来选择输出的打印格式。F可以是以下的一些值:
'x' 16进制整数格式
'd' 有符号十进制整数格式
'u' 无符号十进制整数格式
'f' 浮点数格式

3.13 单步执行指令
单步执行指令有两个step和next。Step可以让你跟踪进入一个函数,而next指令则不会进入函数。

3.14 继续执行指令
当程序被断下后,你查看了所需的信息后,你会希望程序执行下去,输入 continue, 程序会继续执行下去。

3.15 帮助指令help
在GDB中,如果想知道一条指令的用法,最方便的方法是使用help。使用方法很简单,在help后跟上指令名。例如,想知道list指令用法,输入
help list

4.一个简单的例子

上面仅是GDB常用指令的简单介绍。本节将结合一个简单的例子,向大家演示这些常用指令的具体应用。这是一个冒泡排序算法的程序,这个例子的目的仅仅是演示,并不是实际调试。将下面的源程序存为bubble.c文件,并编译好。
#include <stdio.h>

#define MAX_RECORD_NUMBER 10

int record[MAX_RECORD_NUMBER] =
{12,76,48,62,94,17,37,52,69,32};

swap(int * x , int * y )
{
int temp;
temp = *x;
*x = *y;
*y = temp;
}

int main()
{
int i,j;
for( i = 0 ; i < MAX_RECORD_NUMBER - 1; i++ )
{
for( j = MAX_RECORD_NUMBER - 1; j > i; j--)
if( record[j] < record[j-1] )
swap(&record[j],&record[j-1]);
}

for( i = 0; i < MAX_RECORD_NUMBER -1; i++)
printf("%d ",record[i]);

printf("\n");
return 1;
}
记得在编译时用-g开关。如:gcc -g -o bubble bubble.c。你能在当前子目录下得到一个编译好的文件bubble。我们下面将以这个程序为例子向大家演示上面的指令在实际中的应用。
首先启动GDB,可以在启动的同时载入文件bubble,如:gdb bubble。也可以分两步进行,先启动GDB,执行gdb,进入GDB后,再执行file bubble。
这时可以用list指令列出源程序,list的使用比较简单,但其实在GDB中最不方便的就是看源程序,主要原因是因为GDB仅是一个文本方式的调试器,无法让你用鼠标和光标键来翻阅源程序,在这方面ddd等窗口程序有巨大的优势。
我们先来查看一下当前源程序的信息,如下:
(gdb) info source
Current source file is bubble.c
Compilation directory is /root/sample/
Located in /root/sample/bubble.c
Contains 32 lines.
Source language is c.
Compiled with stabs debugging format.
我们可以知道程序名,目录,文件大小,语言等信息。
下面我们来设置断点,我们想在函数swap出设置一个断点:
(gdb) br swap
Breakpoint 1 at 0x80483d6: file bubble.c, line 11.
br是break的简写。上面的一行是GDB告诉我们这个断点的信息,我们可以知道这个断点的断点号是1,地址是0x80483d6,它在文件bubble.c的11行。
我们再在一个行号上设一个断点,
(gdb) br 23
Breakpoint 2 at 0x804844a: file bubble.c, line 23.
我们已经设了两个断点,许多时候你会想查看一下断点的信息和状态,因此你会用到你最常使用的info指令,info br。
(gdb) info br
Num Type Disp Enb Address What
1 breakpoint keep y 0x080483d6 in swap at bubble.c:11
2 breakpoint keep y 0x0804844a in main at bubble.c:23
我用这条指令的大多数原因是想查看一下某个断点的断点号,就是第一列的数值。有时也会看一下断点的状态是enable还是disable。以上的两个断点都是y,也就是都处于enable状态。type列显示breakpoint,是因为info br指令同时也会显示watch的信息,因此用type来识别是断点breakpoint还是检查点watch。
如果你知道断点号,想删除断点很简单,例如想删除断点2,执行del 2就行了。
在程序中,断点2本来设在循环中,那样程序会频烦断下,这也许不是我们希望的。也许我们仅想在某个条件下让它断下,如想当j=5时。
(gdb) br 23 if j==5
Breakpoint 3 at 0x804844a: file bubble.c, line 23.
(gdb) info br
Num Type Disp Enb Address What
1 breakpoint keep y 0x080483d6 in swap at bubble.c:11
3 breakpoint keep y 0x0804844a in main at bubble.c:23
stop only if j == 5
注意现在的断点信息,虽然断点2被删除了,但新设的断点号没有使用2号,而是使用了3号。新设的断点是个条件断点,这从"stop only if j == 5"可以清楚的看出。
现在执行程序,输入run指令。
(gdb) run
Starting program: /root/sample/bubble

Breakpoint 1, swap (x=0x80495a4, y=0x80495a0) at bubble.c:11
11 temp = *x;
程序已经在断点1停了下来。当断点停下时,我们经常需要查看变量值。如查看x值。
(gdb) p x
$1 = (int *) 0x80495a4
GDB告诉我们x是一个指向整数的指针,指针值是0x80495a4。如果想查看指针指向的值。执行:
(gdb) p *x
$2 = 32
(gdb) p *y
$3 = 69
单步执行
(gdb) n
12 *x = *y;
查看变量temp值
(gdb) p temp
$4 = 32
(gdb) n
13 *y = temp;
(gdb) p *x
$5 = 69
现在删除断点1
(gdb) del 1
继续执行
(gdb) cont
Continuing.

Breakpoint 3, main () at bubble.c:23
23 swap(&record[j],&record[j-1]);
程序在断点3停下,记得断点3是个条件断点。要验证很简单,查看一下变量j的值是不是5。
(gdb) p j
$6 = 5
我们可以查看一下全局变量record的值,
(gdb) p record
$7 = {12, 76, 48, 62, 94, 17, 32, 37, 52, 69}
也可以查看一下变量record的地址,
(gdb) p &record
$8 = (int (*)[10]) 0x8049580
知道地址时,也可以x指令查看内存值。
(gdb) x/4uw 0x8049580
0x8049580 <record>: 12 76 48 62
上面的指令查看4个4字节数,以整数方式显示。可以看到这与reocrd值是相附的。
(gdb) x/4bb record
0x8049580 <record>: 12 0 0 0
显示4个单字节数,以字节当时显示。上面的4个字节值正好是record数组第一个整数值,因为整数是4字节,而且intel机器的数值是低字节在前。
改变变量值也很简单,如果想将reocrd数组第一个值该为1,
(gdb) set record[0]=1
看一下值是否改变了。
(gdb) p record
$10 = {1, 76, 48, 62, 94, 17, 32, 37, 52, 69}
第一个值以改成了1。

以上简单地介绍了一些常用的GDB指令,由于篇幅所限,我们无法涉及GDB所有指令及GDB其它许多功能,读者应当自己在实践中不断地学习。Linux系统中会有详细的GDB的资料,你可以用info gdb来查阅这些资料。

Avatar_small
jener 说:
2020年11月14日 23:41
Health Experts are just known to be one of the best consultant of all time. They are going to teach about barbecue grills miami all over the benefit as well as the better impact as well as the nutrients that are essential for the body and make the output.
Avatar_small
Robinjack 说:
2020年12月18日 03:53

I have prepared this updated practice exam with answers! 50 questions with answers. It will help you succeed in this certification exam Pivotal Spring Professional v5.0には新たな正式名があります

Avatar_small
Robinjack 说:
2020年12月21日 20:28

Merely wanna input on few general things, The website design is perfect, the subject material is rattling superb : D. bed bugs

Avatar_small
sameer 说:
2020年12月27日 14:26

Simply wanna comment on few general things, The website style is perfect, the written content is very wonderful : D. https://www.goodreads.com/user/show/125501688-rouletteonline88 

Avatar_small
Robinjack 说:
2020年12月28日 22:23

I like this weblog so much, saved to fav. Buy DMT online

Avatar_small
우리카지노 说:
2021年1月06日 15:41

I like this weblog so much, saved to fav.

Avatar_small
Ross Levinsohn 说:
2021年1月07日 20:57

When I saw this page was like wow. Thanks for putting your effort in publishing this article.

Avatar_small
안전놀이터 说:
2021年1月17日 20:10

Black Ops Zombies… [...]some people still have not played this game. It’s hard to imagine or believe, but yes, some people are missing out on all of the fun.[...]…

Avatar_small
free forex signals 说:
2021年1月28日 20:54

Im no expert, but I consider you just made the best point. You certainly know what youre talking about, and I can really get behind that. Thanks for being so upfront and so sincere.

Avatar_small
Robinjack 说:
2021年1月28日 22:45

if the buffalo in my head could speak german i would not know a god damm thing. What i do know is that the language of art is out of this world. New Maven CEO

Avatar_small
Robinjack 说:
2021年1月28日 22:46

It’s an important pity you actually don’t have a very good contribute switch! I’d most definitely contribute to that spectacular blog site! As i suppose that for now i’ll happy with book-marking and even adding ones own Rss to help you a Google and yahoo credit account. As i start looking forth to help you innovative improvements and will eventually show it website through a Facebook . com crew: ) Ross Levinsohn

Avatar_small
GLD Partners Linktre 说:
2021年1月30日 19:50

You can increase your blog visitors by having a fan page on facebook.~’:~’

Avatar_small
Maven CEO 说:
2021年1月30日 19:50

i am very picky about baby toys, so i always choose the best ones,

Avatar_small
Robinjack 说:
2021年2月01日 21:15

I like this – Gulvafslibning | Kurt Gulvmand , enjoyed this one appreciate it for posting keep update – Gulvafslibning | Kurt Gulvmand. Ross Levinsohn interview

Avatar_small
Robinjack 说:
2021年2月02日 19:06 The cause of death is not made public yet.  ''Sad to hear of the passing of. Jim Jordan Death
Avatar_small
Robinjack 说:
2021年2月04日 18:58

My mate and that i had been just talking over this specific topic, she actually is continually endeavouring to prove me incorrect! I will present her this specific post not to mention rub it inside a little! smm globe

Avatar_small
Robinjack 说:
2021年2月04日 21:10

In the early 1960s, a gentleman by the name of Herbert Gilbert came up with a contraption called the Smokeless Non-Tobacco Cigarette although it wasn't marketed to the masses, as current vaping products, devices, and paraphernalia are today. dank cartridges

Avatar_small
Robinjack 说:
2021年2月06日 17:50

Wow! Thank you! I constantly needed to write on my site something like that. Can I include a part of your post to my website? smm panel reseller

Avatar_small
UMAIR 说:
2021年2月06日 20:16

Here provides Board of Secondary Education, Tamil Nadu Responsible for Students those who are going to appear 10th public exams 2021 can download TN SSLC model paper 2021 in Official Website dge.tn.gov.in, TN 10th Examination Starting Date in 2021, You stack of TN Board SSLC Question Paper TN SSLC Model Paper 2021 2021 Paper Solved Paper, Questions Bank, Model Grand Test Paper which comprises of Previous year model Question Paper Board of also known as the Directorate of Government Examinations Tamil Nadu 10th Sample Paper 2021 Public Examinations at Middle, Matric Annually and Private and Regular Students can enhance their preparation Candidate Previous Question Paper 2021 in examination point of view Public Examination tests will be Conducted with New Syllabus for English Mediums in all Private and Government College.

Avatar_small
CBD oil for pain rel 说:
2021年2月07日 17:42

Im no expert, but I consider you just made the best point. You certainly know what youre talking about, and I can really get behind that. Thanks for being so upfront and so sincere.

Avatar_small
Robinjack 说:
2021年2月07日 22:45

This will be a great website, will you be involved in doing an interview regarding how you created it? If so e-mail me! budapest rental

Avatar_small
Robinjack 说:
2021年2月08日 19:48

Helpful blog post and thanks for sharing. Some things in here I haven’t thought about before, I would like to use this moment to say that I really like this blog. It has been a great resource of knowledge for me. Thank you so much! King855 Singapore

Avatar_small
Robinjack 说:
2021年2月08日 19:48

Your web site does not render correctly on my apple iphone – you might wanna try and repair that ibet malaysia

Avatar_small
Robinjack 说:
2021年2月09日 19:46

Superb read, I just passed this onto a colleague who was doing a little investigation on that. And he actually bought me lunch because I located it for him smile So let me rephrase that: Thanks for lunch! China Tin Boxes

Avatar_small
Robinjack 说:
2021年2月09日 21:39

ehternet cables are still the ones that i use for my home networking applications:: zürich

Avatar_small
Molekule Review 说:
2021年2月12日 03:12

Get upset! Seriously its a must to take a appear past almost everything and get upset. Generally this will likely allow you to just take the inititive to produce details materialize.

Avatar_small
Robinjack 说:
2021年2月15日 21:14

You can certainly see your enthusiasm in the work you write. The earth hopes for more passionate writers like you who aren’t worried to say how they believe. Always follow your heart. schlüsseldienst

Avatar_small
Robinjack 说:
2021年2月16日 18:37

The next morning he called to tell me that he had gone dancing and he did not smoke marijuana! He assured me that he felt in his body without marijuana. phencyclidine

Avatar_small
Robinjack 说:
2021年2月17日 21:44

Hi, Neat post. There’s a problem along with your website in internet explorer, could check this… IE nonetheless is the marketplace chief and a large section of other folks will miss your magnificent writing due to this problem. home owners insurance in louisiana

Avatar_small
Robinjack 说:
2021年2月23日 04:44

Hello! I just wanted to ask if you ever have any issues with hackers? My last blog (wordpress) was hacked and I ended up losing several weeks of hard work due to no back up. Do you have any methods to stop hackers? kosten schlüsseldienst

Avatar_small
smm panel 说:
2021年2月23日 18:48

Im no expert, but I consider you just made the best point. You certainly know what youre talking about, and I can really get behind that. Thanks for being so upfront and so sincere.

Avatar_small
Robinjack 说:
2021年2月28日 00:25

Nice information, many thanks to the author. It is incomprehensible to me now, but in general, the usefulness and significance is overwhelming. Thanks again and good luck! just cbd gummies

Avatar_small
Robinjack 说:
2021年2月28日 00:25

When I originally commented I clicked the -Notify me when new surveys are added- checkbox and today if a comment is added I am four emails with the exact same comment. Is there any way you can eliminate me from that service? Thanks! cbd oil for dogs

Avatar_small
Robinjack 说:
2021年3月03日 18:34

Some truly excellent blog posts on this website, appreciate it for contribution. Wilshire residences price

Avatar_small
Robinjack 说:
2021年3月03日 18:34

I have been exploring for a little bit for any high quality articles or weblog posts in this kind of area . Exploring in Yahoo I finally stumbled upon this web site. Studying this information So i am glad to express that I’ve a very good uncanny feeling I discovered exactly what I needed. I most certainly will make certain to do not fail to remember this web site and provides it a glance regularly. 科技券

Avatar_small
Robinjack 说:
2021年3月03日 18:34

I’m impressed, I must say. Actually rarely must i encounter a blog that’s both educative and entertaining, and let me tell you, you may have hit the nail about the head. Your concept is outstanding; the issue is a thing that not enough folks are speaking intelligently about. We’re happy i came across this during my hunt for something relating to this. 迷你倉

Avatar_small
Robinjack 说:
2021年3月03日 18:35

Great write-up, I’m regular visitor of one’s site, maintain up the nice operate, and It’s going to be a regular visitor for a lengthy time. 利得稅

Avatar_small
Robinjack 说:
2021年3月03日 18:35

Very nice style and design and wonderful content material , practically nothing else we need : D. watch bands

Avatar_small
Robinjack 说:
2021年3月08日 19:42

It’s really a cool and helpful piece of information. I’m satisfied that you just shared this useful info with us. Please stay us informed like this. Thank you for sharing. 2021 best cbd gummies

Avatar_small
Robinjack 说:
2021年3月08日 19:42

An fascinating discussion is worth comment. I think that it is best to write extra on this topic, it won’t be a taboo topic however usually people are not enough to talk on such topics. To the next. Cheers full spectrum cbd oil

Avatar_small
Robinjack 说:
2021年3月08日 19:42

I am typically to blogging i really appreciate your website content continuously. The article has truly peaks my interest. I am about to bookmark your web blog and keep checking for brand new details. best cbd pain cream

Avatar_small
Robinjack 说:
2021年3月08日 19:42

This really is a outstanding write-up. Thanks for taking a few minutes to describe all of this out for folks. It truly is a great guide! just cbd

Avatar_small
Robinjack 说:
2021年3月08日 21:44

5 billion in yearly sales, but then 60% of Celebrex users dropped the drug out of safety concerns too. buy marijuana online

Avatar_small
Robinjack 说:
2021年3月09日 19:29

Great paintings! This is the kind of information that should be shared across the net. Shame on the seek for not positioning this post upper! Come on over and consult with my website . Thank you =) Pristina Hotels best cbd gummies

Avatar_small
Robinjack 说:
2021年3月10日 17:55

Comfortabl y, the article is in reality the greatest on this valuable topic. I harmonise with your conclusions and also definitely will thirstily look forward to your coming updates. Simply just saying thanks can not simply be sufficient, for the wonderful clarity in your writing. I definitely will instantly grab your rss feed to stay privy of any updates. Fabulous work and also much success in your business dealings! 2021 best cbd gummies

Avatar_small
Robinjack 说:
2021年3月10日 17:55

what matters most is the good deeds that we do on our fellow men, it does not matter what religion you have as long as you do good stuffs` cannabis uk

Avatar_small
Robinjack 说:
2021年3月20日 20:04

It’s nearly impossible to find knowledgeable men and women on this topic, but the truth is appear to be do you know what you’re talking about! Thanks marijuana concentrates

Avatar_small
Robinjack 说:
2021年3月22日 18:49

There a few intriguing points with time in this post but I don’t know if all of them center to heart. There exists some validity but I will take hold opinion until I take a look at it further. Excellent write-up , thanks and that we want a lot more! Added onto FeedBurner likewise cbd oil uk

Avatar_small
Robinjack 说:
2021年3月23日 19:13

Along with having one of the best on screen fights of the year with Johnson,Vin Diesel gives a fantastic,real return-to-form performance as Dominic. easter gifts

Avatar_small
Robinjack 说:
2021年3月23日 21:34

I really appreciate this post. I have been looking everywhere for this! Thank goodness I found it on Bing. You’ve made my day! Thank you again https://www.environmental-expert.com/news/cpi-installs-rto-at-midwest-can-manufacturer-1012144

Avatar_small
Robinjack 说:
2021年3月27日 18:42

Very interesting read, you should look into some Online Advertising 科技券

Avatar_small
Robinjack 说:
2021年3月27日 18:42

Yes a ton of sod in the back of a hot wheels tonka truck will break the axel-happy you’ve all learned s/t for the day but can u please drive|ShrakeCulture| 迷你倉

Avatar_small
Robinjack 说:
2021年3月27日 18:42

While at her sister’s fitting for a wedding dress, June is approached by a man known only as Agent Fitzgerald, and asked to accompany him inside his vehicle. 利得稅

Avatar_small
Robinjack 说:
2021年3月27日 18:42

Hi! This is my first visit to your blog! We are a group of volunteers and starting a new project in a community in the same niche. Your blog provided us beneficial information to work on. You have done a extraordinary job! watch bands

Avatar_small
Robinjack 说:
2021年3月28日 17:24

I see your point, and I totally appreciate your article. For what its worth I will tell all my friends about it, quite resourceful. Later. https://bettafish.top/

Avatar_small
Robinjack 说:
2021年3月30日 21:12

Many thanks for being the mentor on this niche. We enjoyed the article greatly and most of all appreciated how you really handled the issues I regarded as being controversial. You are always very kind towards readers really like me and assist me to in my life. Thank you. Palm Beach Gardens Buy Hydrocodone Online

Avatar_small
cmd368 说:
2021年4月07日 18:17

This web-site can be a walk-through its the data it suited you with this and didn’t know who ought to. Glimpse here, and you’ll undoubtedly discover it.

Avatar_small
joker123 mobile 说:
2021年4月10日 18:37

Excellent read, I just passed this onto a colleague who was doing some research on that. And he just bought me lunch as I found it for him smile Therefore let me rephrase that: Thanks for lunch!

Avatar_small
best CBD tincture 说:
2021年4月12日 18:17

Good info. I just discovered your website and had to let you know that I have actually enjoyed looking through the blog. I have became a subscriber to your blog feed and I hope you will post again soon. I am curious if I should really subscribe to comments RSS feed as well. Any helpful discussions taking place in posts comments?

Avatar_small
slot online indonesi 说:
2021年4月19日 22:27

food stamps are great because it is instant food and you can consider it also as free lunch`

Avatar_small
Robinjack 说:
2021年4月24日 21:12

Shania Twain for me is the best country music singer of all times, I also like Taylor Swift but nothing will beat Shania Twain., Monthly Income Review

Avatar_small
alex 说:
2021年5月23日 00:43

i can see that most mobile phones today are equipped with cameras and stuffs., writing style

Avatar_small
WWW 说:
2021年5月23日 21:35

I’m happy I found this weblog, I couldnt uncover any data on this topic matter prior to. I also run a site and if you want to ever serious in a little bit of guest writing for me if feasible really feel free to let me know, i’m always look for people to examine out my site. Please stop by and leave a comment sometime!Minecraft Servers

Avatar_small
WWW 说:
2021年5月24日 18:46

Thanks for your recommendations on this blog. One particular thing I would like to say is that purchasing electronic products items on the Internet is nothing new. The truth is, in the past ten years alone, the marketplace for online electronic products has grown substantially. Today, you could find practically just about any electronic gizmo and product on the Internet, including cameras and also camcorders to computer parts and game playing consoles.[pii_email_37f47c404649338129d6] error

Avatar_small
70s retro shirts 说:
2021年5月26日 13:21

An attention-grabbing discussion is worth comment. I believe that you should write more on this matter, it won’t be a taboo topic however usually persons are not sufficient to talk on such topics. To the next. Cheers

Avatar_small
laim 说:
2021年5月29日 02:59

Nice knowledge gaining article. This post is really the best on this valuable topic.buy clonazepam online

Avatar_small
alex 说:
2021年5月31日 20:29

I have fun with, lead to I discovered just what I was taking a look for. You’ve ended my four day lengthy hunt! God Bless you man. Have a nice day. Bye togel online

Avatar_small
laim 说:
2021年6月04日 06:28

Nice knowledge gaining article. This post is really the best on this valuable topic.Go read

Avatar_small
laim 说:
2021年6月06日 02:07

Nice knowledge gaining article. This post is really the best on this valuable topic.https://amazonpakistan.net/product/cialis

Avatar_small
laim 说:
2021年6月06日 02:18

It truly is moreover a great write-up which i undoubtedly relished reviewing. It may not be specifically day-to-day which i build an opportunity to get whatever.vigrx plus in pakistan

Avatar_small
laim 说:
2021年6月09日 23:31

Nice knowledge gaining article. This post is really the best on this valuable topic.voyance-telephone-gaia.com

Avatar_small
jack 说:
2021年6月10日 21:08

I am glad for writing to let you know of the great experience my friend’s girl went through reading the blog. She figured out several pieces, most notably how it is like to have a great helping style to get many more smoothly completely grasp several specialized issues. You really did more than visitors’ expectations. Thank you for displaying those good, dependable, explanatory and in addition cool guidance on this topic to Lizeth. эрбиевый лазер купить

Avatar_small
laim 说:
2021年6月11日 03:52

Nice knowledge gaining article. This post is really the best on this valuable topic.towing Services Philadelphia

Avatar_small
laim 说:
2021年6月11日 23:46

Nice knowledge gaining article. This post is really the best on this valuable topic.ESCORT AMSTERDAM

Avatar_small
Buy TikTok Likes 说:
2021年6月12日 13:17

you can buy some promise rings from ebay but those are the cheap ones, the quality ones are sold elswhere,,

Avatar_small
WWW 说:
2021年6月12日 19:46

Nice knowledge gaining article. This post is really the best on this valuable topic.visto per la nuova zelanda

Avatar_small
WWW 说:
2021年6月13日 14:29

The following time I learn a blog, I hope that it doesnt disappoint me as much as this one. I mean, I know it was my choice to learn, but I really thought youd have one thing attention-grabbing to say. All I hear is a bunch of whining about one thing that you could possibly repair if you happen to werent too busy on the lookout for attention.check this link

Avatar_small
laim 说:
2021年6月15日 02:05

Succeed! It could be one of the most useful blogs we have ever come across on the subject. Excellent info! I’m also an expert in this topic so I can understand your effort very well. Thanks for the huge help.Ju-tex.con is an E-Commence platform

Avatar_small
WWW 说:
2021年6月15日 13:19

This is truly a great read for me. I have bookmarked it and I am looking forward to reading new articles. Keep up the good work!.seo services company in delhincr

Avatar_small
laim 说:
2021年6月16日 03:50

Nice knowledge gaining article. This post is really the best on this valuable topic.vaobong

Avatar_small
WWW 说:
2021年6月16日 13:06

Thanks for taking the time to discuss this, I feel strongly that love and read more on this topic. If possible, such as gain knowledge, would you mind updating your blog with additional information? It is very useful for me.click here

Avatar_small
WWW 说:
2021年6月16日 19:37

I discovered your blog internet site on yahoo and check a few of your early posts. Continue to keep on the excellent operate. I simply additional the Feed to my MSN News Reader. Looking for toward reading more within you afterwards!…daftar slot online

Avatar_small
laim 说:
2021年6月16日 23:28

All the contents you mentioned in post is too good and can be very useful. I will keep it in mind, thanks for sharing the information keep updating, looking forward for more posts.Thanksvisto per la nuova zelanda

Avatar_small
laim 说:
2021年6月18日 05:31

Nice knowledge gaining article. This post is really the best on this valuable topic.먹튀검증

Avatar_small
พนันออนไลน์ เว็บไหนด 说:
2021年6月19日 19:50

Hello! I simply wish to supply a massive thumbs up for your wonderful information you might have here on this post. I am returning to your blog post for more soon.

Avatar_small
WWW 说:
2021年6月20日 18:18

I just now desired to come up with a quick comment in an effort to express gratitude back for people wonderful pointers you happen to be posting at this site. My time consuming internet investigation has by the end through the day been rewarded with quality means to show to my guests. I’d personally say that many of us website visitors can be extremely endowed to result from a wonderful network with developed solid relationships . marvellous individuals with useful hints. I believe quite privileged to obtain used your webpages and search forward to really more fabulous minutes reading here. Many thanks for most things.slot pragmatic

Avatar_small
WWW 说:
2021年6月21日 14:54

It’s rare knowledgeable individuals about this topic, however you sound like what happens you are referring to! Thankspoker online terbaik

Avatar_small
laim 说:
2021年6月26日 00:49

Nice to read your article! I am looking forward to sharing your adventures and experiences.know more

Avatar_small
Robinjack 说:
2021年7月01日 20:02

I the efforts you have put in this, appreciate it for all the great posts . How to Gain Baccarat

Avatar_small
laim 说:
2021年7月03日 05:35

I learn some new stuff from it too, thanks for sharing your information.best seo agency in delhi

Avatar_small
WWW 说:
2021年7月14日 16:28

Dude.. I am not much into reading, but somehow I got to read lots of articles on your blog. Its amazing how interesting it is for me to visit you extremely often.https://moderndogmagazine.com/what-can-i-give-my-dog-for-pain

Avatar_small
jack 说:
2021年7月15日 18:32

I love reading through a post that may make people feel. Additionally, thank you for enabling me personally to comment! 토토사이트

Avatar_small
WWW 说:
2021年7月18日 20:26

Advertising on Facebook is something many people talk about but few seem to do. Are involved in a project now where it evaluated. We are suffering a bit of not knowing what had happened to others in this area. Hmm…https://mythem.es/forums/users/togelonlineresmi88/

Avatar_small
WWW 说:
2021年7月19日 18:07

Dude.. I am not much into reading, but somehow I got to read lots of articles on your blog. Its amazing how interesting it is for me to visit you extremely often.marijuana oil for dogs

Avatar_small
WWW 说:
2021年7月27日 18:28

Advertising on Facebook is something many people talk about but few seem to do. Are involved in a project now where it evaluated. We are suffering a bit of not knowing what had happened to others in this area. Hmm…https://www.fablabs.io/users/togelonline338

Avatar_small
asas 说:
2021年7月30日 22:44

Have you ever heard of a decent design?? This one sucks man. The articles are great tho’. 강남출장안마

Avatar_small
sameer 说:
2021年7月31日 14:05

“There is some validity but I will hold judgment until I look into it further” 청주출장안마

Avatar_small
sameer 说:
2021年8月01日 14:06

Vedic Math online courses courses - Our team of expert reviewers have done in-depth research to come up with this compilation of 10 Best & Free Vedic Math online courses & Classes Vedic Maths training courses

Avatar_small
asas 说:
2021年8月03日 14:02

I added this article to my favorites and plan to return to digest more soon. It’s easy to read and understand as well as intelligent. I truly enjoyed my first read through of this article. https://westasianetwork.com/ashford-formula-oman.php

Avatar_small
sa 说:
2021年8月05日 18:07

You got a very wonderful website, Sword lily I found it through yahoo. 먹튀검증업체

Avatar_small
WWW 说:
2021年8月11日 14:46

Pretty good post. I just stumbled upon your blog and wanted to say that I have really enjoyed reading your blog posts. Any way I'll be subscribing to your feed and I hope you post again soon. Big thanks for the useful info.ข่าวฟุตบอล

Avatar_small
WWW 说:
2021年8月12日 17:54

Things used to be like that, unfortunately different elements made sure they wouldnt stay that way. Congrats on the articlehttps://os.mbed.com/users/williambutler123/

Avatar_small
WWW 说:
2021年8月12日 18:07

similar eagerness much like my personal own to see good deal more when considering this problem. I’m sure there are many more pleasant sessions ahead for4anime

Avatar_small
jack 说:
2021年8月16日 15:52

I really like your blog.. very nice colors & theme. Did you create this website yourself or did you hire someone to do it for you? Plz respond as I’m looking to construct my own blog and would like to find out where u got this from. appreciate it UFABET

Avatar_small
WWW 说:
2021年8月21日 17:52

Im no professional, but I feel you just made an excellent point. You obviously know what youre talking about, and I can truly get behind that. Thanks for staying so upfront and so truthful.togel online singapore

Avatar_small
laim 说:
2021年8月22日 02:27

Well-Written article. It will be supportive to anyone who utilizes it, including me. Keep doing what you are doing – can't pause to read more posts. Thanks for the precious help.dafabet

Avatar_small
WWW 说:
2021年8月23日 14:02

I’m impressed, I have to admit. Really rarely must i encounter a weblog that’s both educative and entertaining, and let me tell you, you have hit the nail around the head. Your thought is outstanding; the thing is an issue that inadequate people are speaking intelligently about. My business is delighted i always stumbled across this within my find something relating to this.https://www.physicaltherapist.com/forums/users/agenjudicasinoonlineterpercaya/

Avatar_small
WWW 说:
2021年8月26日 13:59

Thanks for taking the time to discuss this, I feel strongly about it and love learning more on this topic. If possible, as you gain expertise, would you mind updating your blog with extra information? It is extremely helpful for me.قیمت درب اتوماتیک

Avatar_small
WWW 说:
2021年8月26日 15:24

I definitely enjoying every little bit of it. It is a great website and nice share. I want to thank you. Good job! You guys do a great blog, and have some great contents. Keep up the good work.kalyan matka 420

Avatar_small
WWW 说:
2021年8月26日 20:34

I dugg some of you post as I thought they were handy invaluablehttps://sociallead.wixsite.com/socialleadgeneration/about-us

Avatar_small
WWW 说:
2021年8月28日 13:22

This is my first time i visit here. I found so many interesting stuff in your blog especially its discussion. From the tons of comments on your articles, I guess I am not the only one having all the enjoyment here keep up the good workcommercial mower maintenance fort myers beach

Avatar_small
WWW 说:
2021年8月28日 13:26

Thanks For sharing this Superb article.I use this Article to show my assignment in college.it is useful For me Great Work.scientific proofreading services

Avatar_small
WWW 说:
2021年8月28日 13:31

 

I recently found many useful information in your website especially this blog page. Among the lots of comments on your articles. Thanks for sharing.legend padel rackets
Avatar_small
WWW 说:
2021年8月31日 12:49

I was surfing the Internet for information and came across your blog. I am impressed by the information you have on this blog. It shows how well you understand this subject.how to open a payment processing company

Avatar_small
alex 说:
2021年9月01日 02:38
Blogs ou should be reading… [...]Here is a Great Blog You Might Find Interesting that we Encourage You[...]…… casinogirlz

 

Avatar_small
alex 说:
2021年9月01日 02:38

Cool sites… [...]we came across a cool site that you might enjoy. Take a look if you want[...]…… Youtube casino

Avatar_small
alex 说:
2021年9月01日 02:38

Some truly nice stuff on this internet site , I like it. Casino twitter

Avatar_small
alex 说:
2021年9月01日 02:38

Hello, you used to write fantastic articles, but the last several posts have been kinda lackluster… I miss your great articles. Past several posts are just a little out of track! Casino girlz

Avatar_small
alex 说:
2021年9月01日 02:38

I adore your wp web template, wherever do you obtain it through? Casinoextra

Avatar_small
WWW 说:
2021年9月07日 19:15

Hiya, I simply hopped over on your web page via StumbleUpon. No longer one thing I’d usually learn, but I liked your thoughts none the less. Thanks for making something value reading.Party planning

Avatar_small
WWW 说:
2021年9月09日 18:09

Attractive section of content. I just stumbled upon your blog and in accession capital to assert that I get in fact enjoyed account your weblog posts. Anyway I will be subscribing to your augment and even I achievement you access consistently rapidly.https://www.fpml.org/forums/users/togelonline338

Avatar_small
WWW 说:
2021年9月09日 22:09

Positive site, where did u come up with the information on this posting?I have read a few of the articles on your website now, and I really like your style. Thanks a million and please keep up the effective work.EtherLite Coin

Avatar_small
WWW 说:
2021年9月19日 18:52

Hiya, I simply hopped over on your web page via StumbleUpon. No longer one thing I’d usually learn, but I liked your thoughts none the less. Thanks for making something value reading.Lagerräumung Berlin

Avatar_small
WWW 说:
2021年9月20日 18:49

One Tree Hill should be the best TV series for me, the characters are great~serialebi

Avatar_small
WWW 说:
2021年10月12日 15:31

kitchen furnitures need to be well maintained that is why we always coat them with clear coat varnishes to protect them from the elements,.Corporate Chauffeurs Manchester

Avatar_small
dark web/deep web/d 说:
2022年8月04日 18:46

This section of the Internet is home to many of the illicit activities and websites that are available on the world wide web today. If you want to know more about how to find out what the Dark Web is and how to stay safe while surfing the web, then read on.  dark web links

Avatar_small
dark web/deep web/d 说:
2022年8月04日 19:30

When the software connects to the Dark Web site, it receives a list of web addresses instead of the normal web site address. Each of these "links" is invisible to the naked eye, giving hackers a way to expose your credit card numbers, personal information, and even bank accounts.   deep web

Avatar_small
dark web/deep web/d 说:
2022年8月04日 19:46

By exposing yourself to the dangers of the dark web links through unsavory websites, you will increase the likelihood that you will become the next victim of computer hackers. dark web links

Avatar_small
dark web/deep web/d 说:
2022年8月04日 20:09

By staying informed, you will be able to understand the many ways that hackers are trying to infiltrate your computer, and you can prevent them from doing their damage to your identity and your finances. By reading up on the dark web, you will be able to use the information that you find to your advantage.  dark web sites

Avatar_small
dark web/deep web/d 说:
2022年8月04日 20:24

If you are visiting a legitimate website, you will not run into any problems with running into dangerous individuals. But, on the dark web, you can't really know what you are looking at.   dark web

Avatar_small
dark web/deep web/d 说:
2022年8月04日 20:39

Most affiliate marketers start by creating a product to market. In this step, they should already have an idea of the product that they want to sell. The product must be one that a vast majority of people will buy, and it should be something that is easy for them to advertise.   work from home jobs

Avatar_small
dark web/deep web/d 说:
2022年8月04日 20:55

The world of affiliate marketing is huge, full of new affiliates, and a whole new marketing landscape that's constantly evolving. This has resulted in affiliate marketing success stories coming out left and right this year. affiliate marketing success

Avatar_small
SEO 说:
2023年6月12日 15:50

This is a good post. This post gives truly quality information. I’m definitely going to look into it. Really very useful tips are provided here. Thank you so much. Keep up the good works. 프리카지노

Avatar_small
sophia 说:
2023年6月19日 20:58

I recently came across your blog and have been reading along. I thought I would leave my first comment. I don't know what to say except that I have enjoyed reading. Nice blog. I will keep visiting this blog very often. 천안출장마사지

Avatar_small
sophia 说:
2023年6月25日 14:07

i read a lot of stuff and i found that the way of writing to clearifing that exactly want to say was very good so i am impressed and ilike to come again in future.. agencia seo

Avatar_small
SEO Denver 说:
2023年7月14日 01:13

Great Article, Thank you!

Avatar_small
Sell My Car Denver 说:
2023年7月14日 01:18

I found exactly what I was looking for thanks.

Avatar_small
Windshield replaceme 说:
2023年7月14日 01:23

Interesting find. I wonder how so many people found this article on windshield replacement searches. Thank you!

Avatar_small
sophia 说:
2023年8月21日 11:13

Wow, cool post. I'd like to write like this too - taking time and real hard work to make a great article... but I put things off too much and never seem to get started. Thanks though. cci 500 primers for sale

Avatar_small
sophia 说:
2023年8月29日 21:19

I think this is an informative post and it is very useful and knowledgeable. therefore, I would like to thank you for the efforts you have made in writing this article. เว็บแทงบอลดีที่สุดUFABET

Avatar_small
Dave 说:
2023年9月07日 17:07

This article is an appealing wealth of informative data that is interesting and well-written. I commend your hard work on this and thank you for this information. You’ve got what it takes to get attention. bubble shooter games free

Avatar_small
Dave 说:
2023年11月14日 14:31

The packaging is like a VIP entrance to a world of endless imagination. pencil packing work from home

Avatar_small
Dave 说:
2023年11月16日 21:32

Cool stuff you have got and you keep update all of us. temazepam online bestellen

Avatar_small
Dave 说:
2023年11月17日 17:41

Cool stuff you have got and you keep update all of us. dentist near stones corner

Avatar_small
Dave 说:
2023年11月21日 00:09

Great post, and great website. Thanks for the information! best lunch cafe in Canggu

Avatar_small
Dave 说:
2023年11月24日 17:33

That is the excellent mindset, nonetheless is just not help to make every sence whatsoever preaching about that mather. Virtually any method many thanks in addition to i had endeavor to promote your own article in to delicius nevertheless it is apparently a dilemma using your information sites can you please recheck the idea. thanks once more. Crimsafe southside

Avatar_small
Dave 说:
2023年12月20日 13:57

Cool stuff you have got and you keep update all of us. Ladbrokes Slots

Avatar_small
Dave 说:
2023年12月21日 17:02

I really impressed after read this because of some quality work and informative thoughts . I just wanna say thanks for the writer and wish you all the best for coming!. roket288

Avatar_small
Dave 说:
2023年12月23日 20:09

Nice blog, I will keep visiting this blog very often. hamis személyi igazolvány vásárlás

Avatar_small
Dave 说:
2024年1月06日 18:15

Nice blog, I will keep visiting this blog very often. hasch köpa

Avatar_small
Anna 说:
2024年1月23日 23:03

Are you a football fanatic looking for free bets? Look no further. This football betting website UFABETโบนัสแทงบอลฟรี is offering a free betting bonus to all new players. Don't wait, claim your bonus and start winning today.

Avatar_small
Derick 说:
2024年1月28日 01:23

Transform your communication services posture with our managed 24/7 IT support in Michigan, supported by innovative solutions and 24/7 support. From cloud services to advanced threat detection, our experts are dedicated to fortifying your Michigan-based digital infrastructure. Enjoy peace of mind with continuous protection and Michigan-focused IT support. communication services

Avatar_small
Derick 说:
2024年2月02日 21:38

Searching for a gift that will make any beer enthusiast's day? Look no further than beer basket packed with a variety of beer gift baskets, this unique and stylish present is sure to please. Say cheers with a Beer Bouquet!

Avatar_small
Derick 说:
2024年2月03日 18:56

Revolutionize your online presence with Pensacola's leading web development services Pensacola web development. Our expert developmenters create websites that seamlessly blend style and functionality, providing a superior user experience for your audience.

Avatar_small
Hardy 说:
2024年2月05日 20:32

Ready to dominate the online game? Our SEO strategies at Michigan SEO are the secret weapon your business needs. Elevate your website's visibility, attract organic traffic, and conquer the digital realm. Experience a surge in search rankings, conversions, and lasting success as your brand establishes itself as a digital powerhouse.

Avatar_small
Dave 说:
2024年2月08日 17:28

Nice blog, I will keep visiting this blog very often. hasch köpa

Avatar_small
Dave 说:
2024年2月20日 17:05

Nice blog, I will keep visiting this blog very often. pets gear

Avatar_small
Dave 说:
2024年3月23日 03:30

Nice blog, I will keep visiting this blog very often. tempo gear


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter